【发布时间】:2016-11-24 16:40:05
【问题描述】:
在我的一个 try/catch 块中,我捕获了一个异常 e,这是:
e.toString().contains("this is a substring") 返回true
同时
Pattern.matches(".*this is a substring.*", e.toString()) 返回false
为什么会这样?包括.* 作为正则表达式模式的前缀和后缀应该基本上使这两个函数做同样的事情吧?
【问题讨论】:
-
显示使用完整的
e.toString()值 -
不,不必。您的字符串中是否有换行符?
e.toString()是什么? -
contains不适用于正则表达式,matches显然可以。您的“这是一个子字符串”显然是一个示例值。真正的价值是什么?它是否包含任何可能在正则表达式上下文中特殊的字符? -
感谢您的帮助!我不知道换行符需要单独处理!
标签: java regex string contains