我试图从这种字符串ou=persons,ou=(.*),dc=company,dc=org
中提取最后一个字符串前面有一个昏迷后面没有(。*)。在最后一种情况下,这应该给dc=company,dc=org
。
看看正则表达式,这似乎是一个积极的背后(前面)负面展望。
所以我已经实现了这个正则表达式:(?<=(,(?!.*\Q(.*)\E))).*
,但它会使昏迷返回,dc=company,dc=org
。我希望没有昏迷的同样的事情。我做错了什么?
答案 0 :(得分:2)
出现逗号,因为捕获组包含它。
您可以使用(?:)
(?<=(?:,(?!.*\Q(.*)\E))).*
答案 1 :(得分:2)
似乎我已经单独解决了我的问题,取消了前方的负面看法周围的捕获组。它提供了以下正则表达式:(?<=,(?!.*\Q(.*)\E)).*
。
它与周围环境中捕获组的行为相关联,如下所示: Lookaround Is Atomic 部分中的http://www.regular-expressions.info/lookaround.html。