我对regex非常陌生。我已经很久没有用10英尺长的杆子碰它了。到目前为止我已经尽力避免了。但现在一个私人项目正促使我去学习它。
所以我开始了。我正在阅读这里的教程:http://www.regular-expressions.info/tutorial.html
目前我在这里:http://www.regular-expressions.info/repeat.html
我的问题是:
该教程说<[A-Za-z][A-Za-z0-9]*>将匹配一个HTML。
但它不也匹配无效的html标记,如- <h11>或<h111>吗?此外,它将如何匹配结束标记?
编辑-我的问题非常具体。我指的是某一特定教程中的一个具体例子,以澄清我对重复的理解是否正确。重复一遍,我不关心用regex进行html解析。
发布于 2013-10-13 15:21:11
我不认为回答你的问题有什么坏处,因为你正试图学习regex:
1)是的,它也将匹配无效的标签,因为它是任何字母后面的任何零或多个匹配的另一个字母或一个数字。
2)它将与结束标记不匹配(必须在其中搜索/ )。
还有一点评论:人们用来在文档中查找html标记的一种方法是查找打开和结束括号的模式,如下所示:
<\/?[^>]*>这是开始括号,一个可选的斜杠,(除了一个结束括号)-repeated,然后是一个结束括号。当然,我不推荐任何人这样做。只是把它留在这里做练习。
发布于 2013-10-13 15:29:30
教程说将匹配一个HTML标记。 但是,它不也匹配无效的html标记,如-或?此外,它将如何匹配结束标记?
是的,这将与<h11>和<X098wdfhfdshs98fhj2hsdljhkvjnvo9sudvsodfih23234osdfs>相匹配。
如果您只想匹配一个字母,后面跟着一个可选的个位数,那么您将匹配<h1>,那么您想要<[A-Za-z][0-9]?>
https://stackoverflow.com/questions/19346721
复制相似问题