【发布时间】:2014-02-19 05:19:04
【问题描述】:
我一直在从堆栈中解决旧问题,以便提高我的正则表达式知识。因为我对正则表达式有基本的了解,所以其中大多数都很容易,但这个问题regex problem 很难。
它要求一个正则表达式,从这种字符串ou=persons,ou=(.*),dc=company,dc=org 中提取最后一个紧跟在逗号前面的字符串,而不是(.*)。在最后一种情况下,这应该是dc=company,dc=org。
解决方案是(?<=,(?!.*\Q(.*)\E)).*,但我无法理解它的流程。我理解(?!.*\Q(.*)\E) 部分,但其他部分对我来说仍然是个谜。特别是?<=,这是一个积极的回顾。它是否从字符串末尾搜索?谁能像我是一个 7 岁的孩子一样向我解释一下——请http://regex101.com/ 没有帮助。
【问题讨论】: