我在Java类中抛出一个新的异常,其中包含一些通常用于正则表达式的字符。
throw new Exception("(): Fake timeout for message(.*XYZV.* fakeApp .*).");这样行吗?还是我需要逃离他们?
发布于 2014-11-06 16:16:30
只有在字符串被视为正则表达式的地方才需要转义特殊的正则表达式字符。例如,replaceAll将其第一个参数视为正则表达式,因此需要转义您希望被解释为普通字符的元字符。
一般来说,在传递给Exception类的构造函数的消息中没有这样的解释,因此没有必要转义这些字符。
但是,您可能有一个用于日志分析的自定义工具,它可能将消息的部分解释为正则表达式。在这种情况下,答案取决于您如何使用自定义工具,因为当将消息解释为regex (或其他任何事情)时,Java库就完全不在循环中了。
https://stackoverflow.com/questions/26784036
复制相似问题