如何写一个定期表达html分析?
-
16-09-2019 - |
题
我想写一个定期表达我html分析器。
我想要匹配html标签定特性(例如。 <div>
与 class="tab news selected"
),其中包含一个或更多 <a href>
标记。Regexp应该与整个标记(从 <div>
要 </div>
).我似乎总是获得"存储耗尽"的错误。-我的程序可能需要每一个标签就能找到匹配的一种。
我使用的是提高regex库。
解决方案
其他提示
您或许应该看看这个问题重。正则表达式和HTML。要点是,使用正则表达式来解析HTML不是以任何方式的理想解决方案。
也许正则表达式是不是最好的解决办法,但我已经喜欢使用五种不同的图书馆和升压的确精细,当谈到定位<a href>
标签和关键字。
我使用这些正则表达式:
/<a[^\n]*/searched attribute/[^\n]*>[^\n]*</a>/
用于定位<a href>
标签和
/<a[^\n]*href[[^\n]*>/searched keyword/</a>/
用于定位链接
(顺便说一句能不能做到更好 - 我吸在正则表达式;))
我现在需要的是定位包含<a href>
的标签,我想正则表达式会做没事 - 也许我需要写我自己的分析功能彼得说。
不要为柔性做。比赛的
与不区分大小写的匹配,并把你的解析器,“分区匹配”的状态,继续处理输入直到
和复位状态
这需要两个正则表达式和一个状态变量。
SGML标签有效字符[A-ZA-Z _:]
所以:/ <[A-ZA-Z _:] +>。/匹配的标签
不隶属于 StackOverflow