gpt4 book ai didi

java - 为什么此正则表达式不接受 '{'?

转载 作者:行者123 更新时间:2023-12-01 16:55:33 25 4
gpt4 key购买 nike

当我尝试将这个“( |{|;)”正则表达式转换为字符串时,Java 给出了这个异常:

Exception in thread "main" java.util.regex.PatternSyntaxException: Illegal repetition near index 2
( |{|;)
^

如何解决?

最佳答案

错误在于 { 被视为限制量词的开头(例如 {1,2})。您需要转义它或在字符类中使用。

根据您拥有的正则表达式来判断 - ( |{|;) - 问题出在特殊的正则表达式字符处理上。由于您想要匹配空格、左大括号或分号,因此建议使用字符类而不是交替组。

所以,使用

([ {;])

字符类是比交替更好的解决方案,因为它涉及更少的回溯。

关于java - 为什么此正则表达式不接受 '{'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33342840/

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