具有许多重复空格的正则表达式捕获组
Regex capturing group with many repeating white spaces
我在捕获此类群组时遇到问题,其中:
a1:b1 a2:b2 b3 b4 a3:b5
预期结果是
a1:b1
a2:b2 b3 b4
a3:b5
我能得到的最好的表达是/[\w]*:([\w]*)/g
,这就是我得到的:
a1:b1
a2:b2
a3:b5
您可以使用
\w+:.*?(?=\s*\w+:|$)
参见regex demo。
详情:
\w+
- 一个或多个单词字符
:
- 冒号
.*?
- 除换行字符外的任何零个或多个字符,尽可能少
(?=\s*\w+:|$)
- 正向前瞻,需要紧靠当前位置右侧的零个或多个空格、一个或多个单词字符和一个冒号或字符串结尾。
我在捕获此类群组时遇到问题,其中:
a1:b1 a2:b2 b3 b4 a3:b5
预期结果是
a1:b1
a2:b2 b3 b4
a3:b5
我能得到的最好的表达是/[\w]*:([\w]*)/g
,这就是我得到的:
a1:b1
a2:b2
a3:b5
您可以使用
\w+:.*?(?=\s*\w+:|$)
参见regex demo。
详情:
\w+
- 一个或多个单词字符:
- 冒号.*?
- 除换行字符外的任何零个或多个字符,尽可能少(?=\s*\w+:|$)
- 正向前瞻,需要紧靠当前位置右侧的零个或多个空格、一个或多个单词字符和一个冒号或字符串结尾。