java - 正则表达式不匹配尾随文本

标签 java regex

当我使用时:

(Act\sNo.\s\d+\sof\s\d+,[^\Q</ref>\E])

那么这匹配:

Act No. 5 of 20,

但这不是:

<ref id="" status="" href="412">Act No. 5 of 20,</ref>

哪个是正确的。

现在我想做类似的事情。当我使用时:

(Cap.\s\d+[^\Q</ref>\E])

那么这匹配:

Cap. 412

这也是如此(即使不应该):

<ref id="" status="" href="412">Cap. 412</ref>

但是,我注意到如果我有一个逗号 , 412之后在正则表达式和文本中,它的工作方式与上面的示例类似。总而言之,它应该不包括具有 </ref> 的内容。在最后。我一直在这里测试:RegExr

最佳答案

永远不要在 HTML 上尝试正则表达式。首先,通过 DOM 函数解析 HTML,然后对值使用 RegEx。

关于java - 正则表达式不匹配尾随文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13904190/

相关文章:

java - JDK 6 Calendar October 20 2041 BUG

java - 如何在 list 中添加 <queries> 标签?

java - 如何使用 Spring 将 POST 请求的对象保留在 session 范围内?

javascript - 创建包含正则表达式匹配中所有组的数组的有效解决方案

Java 在运行时用 String[] stringArray 参数实例化一个类

java - JMenuItem 和 JMenu 有什么区别

regex - 根据第二个文本文件从文本文件中删除重复项

php正则表达式失败

php - preg_match 查找带或不带第一个大写字母的正则表达式

javascript - 使用正则表达式删除所有 html 属性(替换)