Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 正则表达式按前缀拆分字符串和分组_Java_Regex - Fatal编程技术网

Java 正则表达式按前缀拆分字符串和分组

Java 正则表达式按前缀拆分字符串和分组,java,regex,Java,Regex,这几乎完全有效:\b?:may?包含\w+?:[,;]+?\w+{2}\b 与以下内容匹配: 可能包含A、B、C 包含X,Y,Z 包含X,Y,Z 可能包含B,C包含X;Y Z 可能包含A、B、C 可能包含A和B;CD 可能包含A和B,C、D和F包含1、2、3 除了最后两个,其他都可以工作,它们只执行与B的第一个匹配,B可能包含A和B 我基本上需要在May Contains或Contains上拆分句子。它们可以是任意顺序,而且后面/中间的文本变化很大 所以,我想分开每一场比赛,就像梅所包含的。。。

这几乎完全有效:\b?:may?包含\w+?:[,;]+?\w+{2}\b

与以下内容匹配:

可能包含A、B、C 包含X,Y,Z 包含X,Y,Z 可能包含B,C包含X;Y Z 可能包含A、B、C 可能包含A和B;CD 可能包含A和B,C、D和F包含1、2、3 除了最后两个,其他都可以工作,它们只执行与B的第一个匹配,B可能包含A和B

我基本上需要在May Contains或Contains上拆分句子。它们可以是任意顺序,而且后面/中间的文本变化很大

所以,我想分开每一场比赛,就像梅所包含的。。。和/或包含


我用这个答案作为我的基础

根据您输入的不同,您可能会发现这个正则表达式更灵活。它匹配一个字符串(可选以may开头),然后是包含(可选以s开头),然后是字符串末尾的所有内容或另一个以相同模式开头的字符串:

\b(?:may )?contains?.*?(?=\b(?:may )?contains?|$)

你的问题忽略了一些非常关键的东西:你希望从你上面给出的每个输入中提取什么,或者输出什么?我想我在前面的问题中提到过,我基本上期望一组匹配,每个匹配都可能包含。。。或包含。。。和文本直到下一个匹配。在最后一个项目中,我预计会有两个匹配项-可能包含a和b、c、d和f,并且包含1、2、3。好的,我的评论是否为您澄清了输出?您可能不喜欢我的评论,但我认为这会使您的问题更清楚,从而增加您更快获得答案的机会。是否包含x和y,可能包含c、d和e是有效的输入?