java - 如何获取模式 : regex not followed by another regex 的不匹配项

标签 java regex regex-negation regex-lookarounds

这显然是一个简化的情况,但需要的是一个正则表达式,该正则表达式不会与 aabb|bbaa 匹配,但对于 aabb 可以正常工作(后面不跟 |...)。

[ab]+(?!\|[ab]+)* 这样的正则表达式非常接近,但它仍然与 aabb| 中的 aabb 匹配。 bbaa,而在这种情况下我希望根本没有匹配

不允许使用字符串开头 (^) 和字符串结尾 ($) anchor 。

最佳答案

没有规定必须用单个正则表达式表达所有内容。它还使代码不可读。我会建议类似的东西

not (matches "aabb\|bbaa") and (matches "aabb")

如果你坚持的话,可以使用

([ab]+)(\|[ab]+)*

如果第二组不为空,则丢弃匹配。

关于java - 如何获取模式 : regex not followed by another regex 的不匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15818450/

相关文章:

java - Android toast 更改偏好设置

regex - 如何在 bash 中使用变量进行 grep

python - 正则表达式 - 匹配两个字符串之间的所有文本

正则表达式查找一些 .php 文件

javascript - 检查字符串是否不包含 URL 段并匹配

java - Play 应用程序显示编译单元不在构建路径上

java - SpringMVC 如何在应用程序启动时启动线程

java - Android:闲置 X 分钟后重新打开应用程序?

javascript - 正则表达式匹配长字符串中的 URL

Javascript Regex - 只影响非 html 代码? (即文字)