gpt4 book ai didi

java - 为什么我的包含\d{1,} 的正则表达式和否定的前瞻性仍然匹配,而它不应该匹配?

转载 作者:行者123 更新时间:2023-11-29 08:12:46 24 4
gpt4 key购买 nike

我正在尝试使用 Java 中的正则表达式来匹配字符串中的坐标对。我明确希望使用否定先行排除字符串。

待匹配:

558,228
558,228,
558,228,589
558,228,A,B,C

不匹配:

558,228,<Text>

正则表达式 ^558,228(?!,<).*完成工作,同时 ^\d{1,},\d{1,}(?!,<).*没有。它与元字符\d 而不是值的正则表达式相同。有什么想法吗?

最佳答案

原因是.*部分在最后。它匹配之前未匹配的所有内容。结合\d{1,} ,它允许匹配少于 3 位数字,它将像这样: ^\d{1,},\d{1,}(?!,<)将匹配 558,22.*将匹配剩余部分 8,<Text> .

关于java - 为什么我的包含\d{1,} 的正则表达式和否定的前瞻性仍然匹配,而它不应该匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7077869/

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