有什么问题: 模式模式 = 模式.编译( "\" );

  • 本文关键字:模式 编译 问题 java regex
  • 更新时间 :
  • 英文 :


我只想使用正则表达式匹配backslash( (字符,但它会抛出 PatternSyntaxException

Exception in thread "main" java.util.regex.PatternSyntaxException: Unexpected internal error near index 1

 ^
    at java.util.regex.Pattern.error(Unknown Source)
    at java.util.regex.Pattern.compile(Unknown Source)
    at java.util.regex.Pattern.<init>(Unknown Source)
    at java.util.regex.Pattern.compile(Unknown Source)
    at helloworld.HelloWorld.main(HelloWorld.java:20)

您只是尝试使用正则逃脱字符(这就是为什么要升高java.util.regex.PatternSyntaxException: Unexpected internal error near index 1 (

只是要清楚,顺便说一下,Java中的Slash 也是用于识别逃脱序列开始(Java Escape字符(的字符,并且对编译器具有特殊的含义。因此,如果要在字符串中写下斜线,则必须将其加倍("\"(。

如果您想编写一个搜索斜线的正则斜线,则必须逃脱它,并在Java字符串中翻译正则斜视,您必须再次将斜线加倍。

因此,斜线的正则是"\\"

最新更新