如何获得<a>的正确属性

时间:2019-07-26 02:01:16

标签: regex

我写了一个正则表达式来获取标签中的attrs。但是当attrs只有一个字母时出现问题

(\S+)=["']?((?:.(?!["']?\s+(?:\S+)=|[']?[>"]))+.)["']?

何时对此进行分析:

href='www.google.com' target="_blank" title="S"

它将得到:

[[href, www.google.com],[target, _blank],[title, "S]]

我如何获得:

[[href, www.google.com],[target, _blank],[title, S]]

1 个答案:

答案 0 :(得分:1)

此表达式可能返回期望的结果:

([^=]+)=["']([^'"]*)["']

DEMO 1

编辑:

其他选项是:

(\S+)="(.*?)"|(\S+)='(.*?)'

DEMO 2

(\S+)="([^"\r\n]+)"|(\S+)='([^'\r\n]+)'

DEMO 3