我正在使用Java。我有以下文字:"hyst and hy" 为什么(hy)(?![a-z])返回两个“hy”。想法是匹配a-z之间没有任何字符的任何“hy”。如果我执行 hy(?![az])(为什么不带括号),则可以工作(仅查找第二个“hy”),但是我不明白为什么如果在RegEx中使用括号(“hy”),则它与第一个匹配歇斯底里的“hy” 最佳答案 使用捕获组时,您将获得两个结果,第一个是整个模式,第二个是捕获组。第一个hy从未匹配。如果删除括号,则只会获得与整个模式匹配的括号。