1

我有一个像这样的变量

var = "!123abcabc123!"

我正在尝试捕获此 var 中的所有“123”和“abc”。

这个正则表达式(abc|123)检索我想要的但是......

我的问题是:当我尝试这个正则表达式!(abc|123)*!时,它只检索最后一次迭代。我该怎么做才能得到这个输出

MATCH 1
1.  [1-4]   `123`
MATCH 2
1.  [4-7]   `abc`
MATCH 3
1.  [7-10]  `abc`
MATCH 4
1.  [10-13] `123`

https://regex101.com/r/mD4vM8/3

谢谢!!

4

1 回答 1

6

如果您的语言支持\G,那么您可以免费使用它。

(?:!|\G(?!^))\K(abc|123)(?=(?:abc|123)*!)

演示

于 2015-08-13T15:47:32.850 回答