繁体   English   中英

Java正则表达式带有积极面貌,背后是负面展望

[英]Java regex with a positive look behind of a negative look ahead

我想从这样的字符串的提取ou=persons,ou=(.*),dc=company,dc=org最后一个字符串立即 后面没有昏迷(。*) 开头 在最后一种情况下,这应该给dc=company,dc=org

看看正则表达式,这看起来是一个积极的背后(前面)负面展望。

所以我已经实现了这个正则表达式: (?<=(,(?!.*\\Q(.*)\\E))).* ,但它返回,dc=company,dc=org和昏迷。 我希望没有昏迷的同样的事情。 我做错了什么?

出现逗号是因为捕获组包含它。

你可以用(?:)使外部捕获组无法捕获

(?<=(?:,(?!.*\Q(.*)\E))).*

似乎我已经单独解决了我的问题,取消了前方负面观察周围的捕获组。 它给出了以下正则表达式: (?<=,(?!.*\\Q(.*)\\E)).*

它与周围环境中捕获组的行为相关联,如下所示: http//www.regular-expressions.info/lookaround.htmlLookaround Is Atomic中

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM