需要在正则表达式中转义的所有特殊字符的列表
我正在尝试创建一个应用程序,该应用程序将消息模板与用户尝试发送的消息相匹配。我正在使用Java正则表达式来匹配消息。模板/消息可能包含特殊字符。
我如何获得需要转义的特殊字符的完整列表,以便我的正则表达式在最大可能的情况下工作和匹配?
有没有一个通用的解决方案来转义Java正则表达式中的所有特殊字符?
我正在尝试创建一个应用程序,该应用程序将消息模板与用户尝试发送的消息相匹配。我正在使用Java正则表达式来匹配消息。模板/消息可能包含特殊字符。
我如何获得需要转义的特殊字符的完整列表,以便我的正则表达式在最大可能的情况下工作和匹配?
有没有一个通用的解决方案来转义Java正则表达式中的所有特殊字符?
\.[]{}()<>*+-=!?^$|
]
}
[]
+
-
你可以看看 Pattern 类的 javadoc:http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html
如果你想要常规字符而不是特殊含义,你需要转义那里列出的任何字符。
作为一个可能更简单的解决方案,您可以将模板放在 \Q 和 \E 之间 - 它们之间的所有内容都被视为转义。