gpt4 book ai didi

java - 从字符串编译的正则表达式的匹配器未命中组

转载 作者:行者123 更新时间:2023-12-01 21:36:03 25 4
gpt4 key购买 nike

这一定很简单,但我无法理解它。

我有一个字符串“qu'il”。

我还有一个字符串pttrns,其中包含应检查的模式,如下所示:

pttrns = "^(([dcjlmnstDCJLNMST]'|[Qq]u'|[Jj]usqu'|[Ll]orsqu'))(.+)$";

我这样构造我的模式:p = Pattern.compile("^("+ p + ")(.+)$");

现在我尝试匹配:

m = p.matcher("qu'il");

我期望三个组:

  • 0: qu'il
  • 1:曲'
  • 2: 伊尔

相反,我得到

  • 0: qu'il
  • 1:qu'il
  • 2:曲​​'
  • 3:曲'

我该如何解决这个问题?

最佳答案

删除不必要的捕获组。而且您不需要在已锚定的正则表达式之前添加 ^(

pttrns = "^([dcjlmnstDCJLNMST]'|[Qq]u'|[Jj]usqu'|[Ll]orsqu')(.+)$";
p = Pattern.compile(pttrns);

DEMO

关于java - 从字符串编译的正则表达式的匹配器未命中组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36938943/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com