Java是否有内置的方法来转义任意文本,以便它可以包含在正则表达式中?例如,如果我的用户输入"$ 5",我想在输入结束后完全匹配而不是"5".
我用逗号分隔正则表达式列表:
.{8},[0-9],[^0-9A-Za-z ],[A-Z],[a-z]
Run Code Online (Sandbox Code Playgroud)
我对逗号进行了分割.现在我正在尝试将此正则表达式与生成的密码进行匹配.问题是Pattern.compile不喜欢没有转义的方括号.有些人可以给我一个简单的函数,它接受一个像这样的字符串:[0-9]并返回转义字符串\[0-9\].
我似乎无法将":)"的字符串替换为其他内容,这是我的代码:
if(message.contains(":)")) message = message.replaceAll(":)", replacement);
Run Code Online (Sandbox Code Playgroud)
这是错误:
Exception in thread "Listen" java.util.regex.PatternSyntaxException: Unmatched closing ')'
near index 0
:)
^
Run Code Online (Sandbox Code Playgroud)
我该怎么办?