如何编写这个正则表达式

时间:2010-07-20 08:17:00

标签: regex

在我的HTML中,我有以下标签:

<img src="../images/img.jpg" alt="sometext"/>

使用正则表达式我想删除alt=""

我怎么写这个?

更新

它的可移动型。我必须这样写:( textA由textB替换)

regex_replace="textA","textB"

6 个答案:

答案 0 :(得分:5)

为什么不找到'alt =“”'并将其替换为''?

答案 1 :(得分:1)

你要求什么样的正则表达式?直接删除..

 $ sed 's/alt=""//'
    <img src="../images/img.jpg" alt=""/>
    <img src="../images/img.jpg" />

这不需要正则表达式。

答案 2 :(得分:1)

答案 3 :(得分:1)

以下表达式与alt="sometext"

匹配
alt=".*?"

请注意,如果您使用的是alt=".*",而且您使用了<img alt="sometext src="../images/img.jpg">,那么您将匹配整个字符串alt="sometext src="../images/img.jpg"(从alt="到最后一个" )。

.*表示:尽可能多地匹配。

.*?表示:尽可能少地匹配。

答案 4 :(得分:0)

s/ alt="[^"]*"//

答案 5 :(得分:0)

regex_replace修饰符应与具有alt属性的任何IMG标记匹配,并捕获在<#em>组#1中alt属性之前的所有内容。然后,匹配的文本将替换为组#1的内容,从而有效地剥离alt属性。

regex_replace='/(<img(?:\s+(?!alt\b)\w+="[^"]*")*)\s+alt="[^"]*"/g','$1'

这就是你要找的东西吗?