1
7
使用全局正则表达式(这是什么
在您的例子中,正则表达式引擎从字符串的开头开始,一直前进到
First Look at How a Regex Engine Works Internally
如果你
必须
我有另一个解决方案,它可以获得五个匹配,而不必使用偏移量,但我在这里添加它只是出于好奇,我可能不会在生产代码中使用它(它也是一个有点复杂的regex)。您可以使用使用 lookbehind 寻找数字 之前 当前位置,以及 captures
让我们看看这个正则表达式:
因为lookarounds是零宽度的,并且不移动regex位置,所以这个正则表达式将匹配5次:引擎将前进,直到
请注意,每个“匹配”的数字顺序不对!这是因为lookback中的capture组变为backreference 1,而整个匹配是backreference 0。不过,我们可以按正确的顺序重新组合:
|
2
2
|
3
1
对于这种特殊的情况,我认为自己动手要简单得多:
|
4
1
只是为了好玩,另一种方法是:
|
lonix · 使用sed从JSON中提取非贪婪正则表达式 1 年前 |
Dima Malko · 如何在指定符号前添加符号? 2 年前 |
shekharsabale · 从列表元素捕获子字符串 2 年前 |
Katia · 根据特定规则进行多行匹配 2 年前 |
MHA · Pandas str.extract()以字母结尾的数字 2 年前 |
Slava Vir · 如何查找后面“/”之间的最后一组 2 年前 |