我需要一個正則表達式,它將返回一個沒有alt屬性的引用之間有任何東西的圖像標籤。例如,我希望它返回一個具有alt =「」或沒有alt,但沒有alt =「y」的img標籤。正則表達式找到<img />標籤沒有alt =「。#」
圖像標籤中可能會有換行符,並且每行可能有多個圖像標籤。
目前,我有什麼是:
<[email protected](~[\r\n]|[\r\n])*[email protected](~(alt=".#"))*[email protected](~[\r\n]|[\r\n])*[email protected]/>
,我測試它在此:
<img alt="" />
<img src="xyz.jpg"
alt="y" />
<img xxxx ABC />
<img xxxxxx ABC />
<img src="xyz.jpg" alt="y" />
但我的正則表達式返回每個圖像標籤,包括第2和第第五個我不想回來的。
我正在使用Microsoft Expression Web。
正則表達式是不是解析器。他們不適合處理HTML。 – 2012-04-17 19:17:09
http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags – Joe 2012-04-17 19:38:40
這是人們反芻你不能用正則表達式的情況之一是對的。正則表達式無法處理嵌套標籤,所以像''這樣的東西不能用正則表達式解析。如果你能保證img標籤永遠不會包含其他img標籤,正則表達式將只會起作用。 – 2012-04-17 22:10:27