正则表达式首先匹配 space 从 = 符号往回看
regex to match first space looking back from an = sign
我有如下文字,
<p style="color: blue;" data="something">
我想得到 style
和 data
但 /(?<=\s)(.*?)(?=\=)/g
匹配 style
和 blue;" data
.
本质上,我只想匹配第一个 space 和 =
之间的文本
我错过了什么?如果有人能指出我正确的方向,我将不胜感激。
您可以使用
\S+(?==)
[^\s=]+(?==)
参见regex demo。
详情:
\S+
- 一个或多个 non-whitespace 个字符(甚至包括 =
个字符)
[^\s=]+
- 除空格和 =
个字符外的一个或多个字符
(?==)
- 正前瞻要求 =
字符立即出现在当前位置的右侧。
我有如下文字,
<p style="color: blue;" data="something">
我想得到 style
和 data
但 /(?<=\s)(.*?)(?=\=)/g
匹配 style
和 blue;" data
.
本质上,我只想匹配第一个 space 和 =
我错过了什么?如果有人能指出我正确的方向,我将不胜感激。
您可以使用
\S+(?==)
[^\s=]+(?==)
参见regex demo。
详情:
\S+
- 一个或多个 non-whitespace 个字符(甚至包括=
个字符)[^\s=]+
- 除空格和=
个字符外的一个或多个字符(?==)
- 正前瞻要求=
字符立即出现在当前位置的右侧。