1

所以我只想快速说明正则表达式是解决这个问题的合适解决方案,它正在解析的 html 的格式总是相同的。

我有兴趣解析的特定 html 看起来类似于以下内容

<a href="" target="" onCick=""><img style="" onmouseover="" onmouseout="" src="" alt="" /></a>

我有兴趣从该字符串中提取“src”和“alt”标签。正则表达式真的让我感到困惑,以至于我真的不明白我在用它做什么。所以真正的帮助将不胜感激。意义重大,谢谢。

4

1 回答 1

1

您使用哪种语言?正则表达式方言有一些细微差别。

无论哪种方式,对于 JavaScript,您都可以使用

var match = /src="(.*?)"\s+alt="(.*?)"/.exec(pieceOfHTML);
// match[1] should be the src, match[2] the alt

或者对于 Python,

match = re.search(r'src="(.*?)"\s+alt="(.*?)', pieceOfHTML)
# match.group(1) and match.group(2) respectively

编辑重新评论:

<a href=".*?"\s+target=".*?"\s+onCick=".*?"><img style=".*?"\s+onmouseover=".*?" onmouseout=".*?"\s+src="(.*?)"\s+alt="(.*?)"

应该是一个体面的正则表达式,只匹配所需的模式,对空格宽容。

于 2012-11-01T13:20:11.533 回答