Regex rx = new Regex(@"(?<!\\\\),");
String test = "OU=James\\, Brown,OU=Test,DC=Internal,DC=Net";
这很完美,但我想了解它。我一直在努力,但没有成功。谁能给我一个词或短语,我可以用它来查找和理解它。
本以为应该这样写:
new Regex(@"(\\\\)?,");
我看过 (?zzzzzz)之前的语法。这是 <!我被难住的部分。
请您参考如下方法:
(?<!…)是 negative look-behind assertion .在你的正则表达式中
(?<!\\\\),
,显然匹配逗号。 \\\\匹配 2 个反斜杠。然后 (?<!\\\\),匹配任何前面没有 2 个反斜杠的逗号。
因此它将匹配 ,在 OU 和 DC 之前,但不是在 James 和 Brown 之间:
OU=James\\, Brown,OU=Test,DC=Internal,DC=Net
^ ^ ^
