请求的字母之前的奇数“\”的负向前视
问题描述:
如何找到字符串的所有字母a
,但条件是前面没有奇数的\
。请求的字母之前的奇数“”的负向前视
做一个\
将
@"(?<!\\)a"
其良好运作安静。但如何排除所有奇数的\
?
例如
-
a
,\\a
,\\\\a
,...应该允许 -
\a
,\\\a
,\\\\\a
,...应该忽视
PS。如果C#类System.Text.RegularExpressions.Regex
可以处理您的结果,那将会很不错。
答
您可以使用以下方法:
(?<!\\)(?:\\\\)*a
见DEMO
说明:
-
(?<!\\)
回顾后因为没有\
(以避免之间的匹配\
的) -
(?:\\\\)*
匹配零个或更多的斗BLE斜线\\
(由每个..\
转义)只匹配偶数\
的 -
a
匹配字面a