这一定很简单,但我无法理解它。
我有一个字符串“qu'il”。
我还有一个String pttrns
包含应该检查的模式,如下所示:
pttrns = "^(([dcjlmnstDCJLNMST]'|[Qq]u'|[Jj]usqu'|[Ll]orsqu'))(.+)$";
我构建我的模式:p = Pattern.compile("^(" + p + ")(.+)$");
现在我尝试匹配:
m = p.matcher("qu'il");
我期待三组:
相反,我得到了
我该如何解决这个问题?
答案 0 :(得分:3)
删除不必要的捕获组。此外,您还不需要在已经锚定的正则表达式之前添加^(
。
pttrns = "^([dcjlmnstDCJLNMST]'|[Qq]u'|[Jj]usqu'|[Ll]orsqu')(.+)$";
p = Pattern.compile(pttrns);