获取包含该属性的所有标签的正则表达式 (href|src)
这是行不通的。有人能看出为什么吗?
"/<(.*)[href|src](.*)>/ismU"
This doesn't work. Can anybody spot why?
"/<(.*)[href|src](.*)>/ismU"
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
有几件事:
如果必须的话,
(.*)
将跨标记边界匹配(即使您确实使用了/U
修饰符默认使量词变得惰性。[href|src]
表示“匹配一个字符,可以是h
、r
、e
、f
、|
、s
或c
”。/m
修饰符没有用如果您在正则表达式中不使用^
或$
锚点,请尝试以下操作:
但即使这样,将正则表达式应用于 HTML 也会带来麻烦。
Several things:
(.*)
will match across tag boundaries if it has to (even though you did use the/U
modifier to make quantifiers lazy by default.[href|src]
means "match one character, either ah
, ar
, ane
, anf
, a|
, ans
or ac
".The
/m
modifier is useless if you don't use^
or$
anchors in your regex.Try this instead:
But even with this, applying regular expressions to HTML is asking for trouble.
尝试使用 XPaths 而不是正则表达式来解决您的问题。
Try to solve your problem using XPaths instead of regexes.