正则表达式首先匹配 space 从 = 符号往回看

regex to match first space looking back from an = sign

我有如下文字,

<p style="color: blue;" data="something">

我想得到 styledata/(?<=\s)(.*?)(?=\=)/g 匹配 styleblue;" data.

本质上,我只想匹配第一个 space 和 =

之间的文本

我错过了什么?如果有人能指出我正确的方向,我将不胜感激。

您可以使用

\S+(?==)
[^\s=]+(?==)

参见regex demo

详情:

  • \S+ - 一个或多个 non-whitespace 个字符(甚至包括 = 个字符)
  • [^\s=]+ - 除空格和 = 个字符外的一个或多个字符
  • (?==) - 正前瞻要求 = 字符立即出现在当前位置的右侧。