java - 找到子字符串,但正则表达式失败

标签 java regex

假设我有一些字符串,并对其运行以下测试:

response.indexOf("</p:panelGrid>");
response.matches(".*</p:panelGrid>.*");

indexOf怎么可能找到子字符串(它不返回 -1 ),但第二个测试中的正则表达式匹配?

我在尝试编写测试以检查标签库是否在带有 Pax Web 的 JSF 中正确呈现时遇到了这个问题。我无法在此测试之外重现此行为。

最佳答案

. 匹配除换行符以外的所有内容。您必须将您的正则表达式字符串更改为

"(?s).*</p:panelGrid>.*"

那么它将始终匹配。

关于java - 找到子字符串,但正则表达式失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12072816/

相关文章:

php - 使用 .htaccess 重定向所有媒体请求(css、js 和图像)

java - 对象是从 Java 中的引用数组中预取的吗?

java - Action 类是否具有像formbean这样的范围

regex - 如何从 Bash 中的正则表达式中提取多个环境变量?

python - 匹配以逗号分隔的精确长度的所有单词

javascript - 需要有人帮我修复一个正则表达式,它意外地破坏了我其余的 HTML 代码

javascript - 替换以某个符号开头的字符串 n 次

java 到 mongoDB where 子句中的日期

java - 每当您单击它时,都会使用不同的图像重新绘制 JPanel

Java RSA/CBC加密实现