这是什么正则表达式:新的正则表达式(@"(?<!\\),");

Tre*_*oll 1 c# regex

Regex rx = new Regex(@"(?<!\\\\),");
String test = "OU=James\\, Brown,OU=Test,DC=Internal,DC=Net";
Run Code Online (Sandbox Code Playgroud)

这很完美,但我想了解它.我一直没有成功.有人可以给我一个单词或短语,我可以用它来查看并理解它.

我原以为它应该写成这样:

 new Regex(@"(\\\\)?,");
Run Code Online (Sandbox Code Playgroud)

我以前见过这个(?zzzzzz)语法.这<!是我被困扰的部分.

ken*_*ytm 8

(?<!…)是一个负面的后视断言.在你的正则表达式

(?<!\\\\),
Run Code Online (Sandbox Code Playgroud)

,显然与逗号匹配.本\\\\场比赛2个反斜线.然后(?<!\\\\),匹配任何前面没有 2个反斜杠的逗号.

因此它将匹配,OU和DC之前,但不匹配James和Brown之间:

OU=James\\, Brown,OU=Test,DC=Internal,DC=Net
                 ^       ^           ^
Run Code Online (Sandbox Code Playgroud)