【发布时间】:2009-05-19 06:22:45
【问题描述】:
我正在尝试编写一个正则表达式来匹配图像标签上的 src、宽度和高度属性。宽度和高度是可选的。
我想出了以下几点:
(?:<img.*)(?<=src=")(?<src>([\w\s://?=&.]*)?)?(?:.*)(?<height>(?<=height=")\d*)?(?:.*)(?<width>(?<=width=")(\d*)?)?
expresso 仅显示以下 html sn-p 的 src 位匹配
<img src="myimage.jpg" height="20" />
<img src="anotherImage.gif" width="30"/>
我希望我真的很亲密,这里有人可以指出我做错了什么,我觉得它是我在字符之间的可选位 (?:.*) 我试过让它不贪心没有成功。那么有什么建议吗?
【问题讨论】:
-
为什么需要使用正则表达式?你能不通过 HTML 解析库运行它,而是使用 XMLReader 函数吗?
-
Regex 语法在不同的语言中是不同的。那么您使用的是哪种语言? Perl,红宝石,还有别的吗?更重要的是,考虑使用 html 解析器而不是正则表达式。如果 src 在宽度和高度之后而不是之前,你认为正则表达式会匹配吗?
标签: regex