我试图从这种字符串中提取ou=persons,ou=(.*),dc=company,dc=org
最后一个字符串,前面是逗号而不是(。*)。在最后一种情况下,这应该给出dc=company,dc=org
.
看看正则表达式,这似乎是负面展望的正面展望(在此之前)。
所以我已经实现了这个正则表达式:(?<=(,(?!.*\Q(.*)\E))).*
,但它,dc=company,dc=org
以昏迷状态返回。我想要没有昏迷的同样的东西。我做错了什么?
我试图从这种字符串中提取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.html在Lookaround Is Atomic部分中。