我正在尝试创建一个将消息模板与用户尝试发送的消息相匹配的应用程序。我正在使用 Java 正则表达式来匹配消息。模板/消息可能包含特殊字符。
如何获得需要转义的特殊字符的完整列表,以便我的正则表达式在最大可能的情况下工作和匹配?
是否有一个通用的解决方案来转义 Java 正则表达式中的所有特殊字符?
原文由 Avinash Nair 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在尝试创建一个将消息模板与用户尝试发送的消息相匹配的应用程序。我正在使用 Java 正则表达式来匹配消息。模板/消息可能包含特殊字符。
如何获得需要转义的特殊字符的完整列表,以便我的正则表达式在最大可能的情况下工作和匹配?
是否有一个通用的解决方案来转义 Java 正则表达式中的所有特殊字符?
原文由 Avinash Nair 发布,翻译遵循 CC BY-SA 4.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
3 回答1.7k 阅读✓ 已解决
您可以查看 Pattern 类的 javadoc:http: //docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html
如果您想要常规字符而不是特殊含义,则需要转义此处列出的任何字符。
作为一个可能更简单的解决方案,您可以将模板放在 \Q 和 \E 之间 - 它们之间的所有内容都被视为转义。