2010-07-20 109 views
1

在我的HTML我有如下標籤:如何寫這個正則表達式

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

使用正則表達式表達我想刪除alt=""

如何將我寫這篇文章?

更新

及其對活字。我必須把它寫一個像這樣:(TEXTA被替換TEXTB)

regex_replace="textA","textB" 
+1

哪種語言? – kennytm 2010-07-20 08:18:50

+0

[你不能用正則表達式解析XHTML](http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454);-) – 2010-07-20 08:27:18

回答

5

你爲什麼不只是找到「ALT =‘’」與'取代它呢?

1

你要求什麼正則表達式?直接刪除..

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

這不需要一個正則表達式。

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

下面的表達式匹配alt="sometext"

alt=".*?" 

需要注意的是,如果你使用的alt=".*",而是和你有<img alt="sometext src="../images/img.jpg">然後你會匹配整個條款g alt="sometext src="../images/img.jpg"(從alt="到最後的")。

.*表示:儘可能匹配。

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

0

regex_replace改性劑應與一個alt屬性的任何IMG標記和捕捉一切在組#1中的alt屬性前述。然後將匹配的文本替換爲組#1的內容,從而有效剝離alt屬性。

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

這是你在找什麼?