模式编译抛出java.util.regex.PatternSyntaxException

Var*_*run 1 java regex exception

我有以下

Pattern loPattern = Pattern.compile(someText.toLowerCase(), Pattern.CASE_INSENSITIVE | Pattern.DOTALL);
Run Code Online (Sandbox Code Playgroud)

如果someText有类似的模式,此行抛出异常e[l

someText可以包含字符[az] [AZ] [0-9]!@#$%^&;*()_ + = | {} [];:'"<>;,.?/`〜§ -

什么是可能的解决方案?

Rei*_*eus 6

添加Pattern.LITERAL标志,以便在表达式中不翻译元字符

Pattern loPattern = 
    Pattern.compile(someText, 
       Pattern.CASE_INSENSITIVE | Pattern.DOTALL | Pattern.LITERAL);
Run Code Online (Sandbox Code Playgroud)