true System-6ren">
gpt4 book ai didi

java - 匹配重复字符串部分时出现奇怪的 Java 正则表达式错误

转载 作者:行者123 更新时间:2023-12-02 10:50:36 25 4
gpt4 key购买 nike

最近在使用Java正则表达式时遇到了一个奇怪的错误:

System.out.println(Pattern.matches("(\\d\\d)", "12"));  -->  true  
System.out.println(Pattern.matches("(\\d\\d)", "11")); --> true
System.out.println(Pattern.matches("(\\d\\d)\\1", "1212")); --> true
System.out.println(Pattern.matches("(\\d\\d)\\1", "1122")); --> false

最后一张有什么问题吗?谁能帮帮我,万分感谢~

最佳答案

第三行:

Pattern.matches("(\\d\\d)\\1", "1212")
+------+
12

captured group是 12。所以 \1 包含 12,并且由于 12 = 12 你得到 true。

第四行:

Pattern.matches("(\\d\\d)\\1", "1122")
+------+
11

捕获的组是 11。因此 \1 包含 11,并且由于 11 != 22 你会得到 false。

关于java - 匹配重复字符串部分时出现奇怪的 Java 正则表达式错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34992166/

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