由于方法命名的不幸选择,使用SO / Google搜索几乎无法找到答案...
TL; DR 如何在我的应用中找到函数enable_if
的所有实例,而不是扩展方法Replace(
?
长版本:我正在将一个大型VB.Net应用转换为C#。在250,000行代码中,我知道除了Replace
方法之外,还有Visual Basic String.Replace
函数的用法。
是否可以搜索.Replace(
,而不包含Replace
的出现次数?我标记了RegEx,因为我希望这是方式,并且有play about at RegExr,但无法完全弄明白。
感谢。
答案 0 :(得分:3)
如何在我的应用中找到函数
Replace(
的所有实例,而不是扩展方法.Replace(
?
你需要使用带有负面lookbehind的正则表达式:
(?<!\.)Replace\(
^^^^^^^
(?<!\.)
lookbehind将使Replace(
之前紧跟.
的所有匹配失效。
如果您想匹配前面只有空格的Replace(
,请使用(?<!\S)Replace\(
,(?<!\S)
将需要Replace(
之前的空格或字符串开头。
由于(
和.
是特殊的正则表达式元字符,因此必须使用\
进行转义。
请参阅regex demo。