获取嵌套的中,最里层的正则。

2018年3月28日 0 条评论 738 次阅读 0 人点赞

PHP不支持 ->  <table[^>]*>(([^<>]*(?'open'<[^/](?!table)[^>]*>)*[^<>]*(?'-open'</(?!table)[^>]*>)*[^<>]*)*(?(open)(?!)))</table>

报错为:Compilation failed:

可能是PHP对平衡组,支持的没有那么好。另外,Javascript也不支持这种。但在 Regex Match Tracer 等工具上是可以跑的,可能JAVA或者是其它语言可以用到。


PHP 可以用 -> #<table([^>]*)>([^<>]*((<(?!table|/table)[^>]*>)+[^<>]*)*)</table>#is

但对中间包含的元素,其实检测不严格。但就爬虫来说,足够了。

guojia

这个人太懒什么东西都没留下