【发布时间】:2018-08-07 07:33:24
【问题描述】:
我得到了这种 HTML 结构:
<p>TEST</p><ul><li>1 abc</li><li>2 def</li><li>3 ghi</li></ul>
我想得到这个:
- Group 1 : TEST
- Group 2 : 1 abc
- Group 3 : 2 def
- Group 4 : 3 ghi
所以我写了这个reg exp:
<p>(.*?)<\/p>.*?<ul>(?(1)<li>(.*?)<\/li>*)<\/ul>
结果是:
Match 1
Full match 0-50 `<p>TEST</p><ul><li>1</li><li>2</li><li>3</li></ul>`
Group 1. 3-7 `TEST`
Group 2. 19-40 `1</li><li>2</li><li>3`
参照 Regex101 : https://regex101.com/r/eoHtuI/1
这是用 PHP 格式编写的,但我也可以将它与 Javascript 一起使用。 有什么想法吗?
【问题讨论】:
-
您必须为此使用正则表达式吗? DOM 解析似乎更适合这项任务。
-
我用它制作了一个 webscrap,但由于我的网络托管商,我无法添加任何模块,所以是的,我必须使用正则表达式。顺便说一句,我也知道我可以使用多个正则表达式,但我正在尝试只用一个来完成所有事情以获得更快的代码。
标签: javascript php regex