Java正则表达式具有正面的表象和负面的表象

Pom*_*pot 5 java regex regex-lookarounds

我从这种字符串试图提取ou=persons,ou=(.*),dc=company,dc=org立即最后一个字符串前面加一个昏迷后面没有(。*)。在最后一种情况下,应给出dc=company,dc=org

从正则表达式上看,这似乎是正面的(正面)负面看法(之前)。

因此,我已经实现了此regex:,(?<=(,(?!.*\Q(.*)\E))).*但是它,dc=company,dc=org以昏迷形式返回。我想要同样的东西而没有昏迷。我做错了什么?

Pom*_*pot 2

看来我已经独自解决了我的问题,删除了负面展望周围的捕获组。它给出以下正则表达式:(?<=,(?!.*\Q(.*)\E)).*.

它与环视中捕获组的行为相关,如下所述:http://www.regular-expressions.info/lookaround.html环视是原子部分中的。