请求的字母之前的奇数“\”的负向前视

问题描述:

如何找到字符串的所有字母a,但条件是前面没有奇数的\请求的字母之前的奇数“”的负向前视

做一个\

@"(?<!\\)a" 

其良好运作安静。但如何排除所有奇数的\

例如

  • a\\a\\\\a,...应该允许
  • \a\\\a\\\\\a,...应该忽视

PS。如果C#类System.Text.RegularExpressions.Regex可以处理您的结果,那将会很不错。

您可以使用以下方法:

(?<!\\)(?:\\\\)*a 

DEMO

说明:

  • (?<!\\)回顾后因为没有\(以避免之间的匹配\的)
  • (?:\\\\)*匹配零个或更多的斗BLE斜线\\(由每个.. \转义)只匹配偶数\
  • a匹配字面a