Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.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正则表达式忽略字符串末尾的n组_Java_Regex - Fatal编程技术网

java正则表达式忽略字符串末尾的n组

java正则表达式忽略字符串末尾的n组,java,regex,Java,Regex,我要分析以下类型的字符串。字符串可以包含n个组。但我只对第五组和第六组感兴趣。 xxxx xxxx xxxx xxxx xxxx xxx xxx xxx xxx xxx xxx 目前正在处理以下类型的表达式: (.*)-(.*)-(.*)-(.*)-(.*)-(SY[A-Z0-9]+)-(N[Y|N])[-(.*)]* if (matcher.matches()) { System.out.println(matcher.group(5)); Syste

我要分析以下类型的字符串。字符串可以包含n个组。但我只对第五组和第六组感兴趣。 xxxx xxxx xxxx xxxx xxxx xxx xxx xxx xxx xxx xxx

目前正在处理以下类型的表达式:

(.*)-(.*)-(.*)-(.*)-(.*)-(SY[A-Z0-9]+)-(N[Y|N])[-(.*)]*

    if (matcher.matches()) {
        System.out.println(matcher.group(5));
        System.out.println(matcher.group(6));
    }
我想用我的正则表达式,我想知道如何忽略其他组,有什么建议吗?
当前,如果字符串匹配精确的组,它将生成结果,但它包含更多不匹配的组

您的正则表达式不匹配任何额外的组,因为您在末尾使用的是字符类
[]
,而不是组
()
。换成

(.*)-(.*)-(.*)-(.*)-(.*)-(SY[A-Z0-9]+)-(N[Y|N])(-.*?)*

另外,请注意,如果您在
N[Y | N]
处指的是NY或NN,则应将其改为
N(Y | N)
,因为使用字符类
[]
也会使其匹配
N |

您的正则表达式不匹配任何额外的组,因为您在末尾使用的是字符类
[]
。换成

(.*)-(.*)-(.*)-(.*)-(.*)-(SY[A-Z0-9]+)-(N[Y|N])(-.*?)*

另外,请注意,如果您在
N[Y | N]
处指的是NY或NN,您应该将其改为
N(Y | N)
,因为使用字符类
[]
也会使其匹配
N |

您所说的“忽略”是什么意思?我已经编辑了问题。您所说的“忽略”是什么意思?我已经编辑了问题。