我有这个示例字符串:
blablablablaGROUP1blablablablaGROUP2blablablablaGROUP3blablablabla
如您所见,拆分组的模式为GROUP\d
。
我想在这样的组中得到这个结果:
GROUP1blablablabla
GROUP2blablablabla
- 醇>
GROUP3blablablabla
组的数量可以是0到n。
我试过这个,但暂时没有运气:
(GROUP\d.*(?=GROUP\d))
我正在使用.NET。
答案 0 :(得分:1)
你需要像...这样的东西。
(GROUP\d.*)+$
...
( group and capture to \1 (1 or more times)
GROUP match 'GROUP'
\d match a digit (0-9)
.* any character except newline (0 or more times)
)+ end of \1 +(match 1 or more times)
$ end of string
答案 1 :(得分:1)
您也可以使用
(GROUP((?!GROUP).)+)
含义
( start of capturing group
GROUP Match the string literal GROUP
(
(?!GROUP) Negative lookahead to makesure the text after the current match charater is not GROUP
.)+ Repeat the same 1 or more times
然后,您可以将这些组作为1,2,3(根据您的输入进行3次匹配)
答案 2 :(得分:0)
这将为您提供3组:
(GROUP\d.*?(?=GROUP\d|$))