【发布时间】:2013-05-28 13:32:18
【问题描述】:
我正在尝试在 html 标记的内容/文本中匹配单词 contact。我可以获取标签之间的所有文本:
http://rubular.com/r/IkhG2nhmnS
与:
(?<=\"\>)(.*?)(?=\<\/)
但我只想搜索单词contact,它不起作用:
http://rubular.com/r/We44nHisLf
与:
(?<=\"\>)(contact*?)(?=\<\/)
谁能指导我如何在 html 标签的文本/内容中匹配我想要的单词。在上述情况下,我想查找/匹配单词contact
感谢您的帮助
【问题讨论】:
-
您不想使用正则表达式来匹配 HTML 标签。真的。你没有。
-
嗯,20 多年的编程经验,正则表达式的高级知识,我知道我在说什么。如果您有无限的堆栈和格式良好的输入,那么使用 HTML 解析器进行解析就可以了。如果您对库的访问受限并且知道会发生什么或需要更多类似模糊的匹配,则使用正则表达式进行解析很好。但是因为我的经验而对我投反对票是非常不成熟的。坦率地说,对任何真正贡献知识的人投反对票是令人反感的。
-
@PP 你必须明白这个话题已经在这个网站上讨论过extensively。是的,给定一组有限的、可知的输入,使用正则表达式解析 HTML 是 possible。然而,已经提供了大量证据表明它只是isn't a good idea。
-
@PP 贡献知识和提供坏建议之间存在细微差别。从技术上讲,您可以用牙刷粉刷房间,但这仍然不是一个好的提示。批评是有序的,“是的,但它有效,我已经做到了!” 不会是相关的回复。除非你只有牙刷,这种情况很少见。 I know regex to a point 在那里我可以和他们一起做一些非常有趣的事情,并且仍然我会拒绝任何寻求如何解析 HTML 帮助的人。因为这确实是非常糟糕的建议。
标签: php javascript regex