簡體   English   中英

查找“替換”但不是“.Replace”的所有實例

[英]Find all instances of “Replace” but not “.Replace”

由於方法命名的不幸選擇,使用SO / Google搜索幾乎不可能找到答案...

TL; DR如何找到函數Replace(所有實例Replace(在我的應用程序中,但不是擴展方法.Replace(

長版:我正在將一個大的VB.Net應用程序轉換為C#。 在我知道的250,000行代碼中,除了String.Replace方法之外,還有Visual Basic Replace函數的用法。

是否可以搜索Replace ,而不包括.Replace出現? 我標記了RegEx,因為我希望這是方式,並且在RegExr上有一個游戲 ,但無法完全理解它。

謝謝。

我怎樣才能找到函數Replace(所有實例Replace(在我的應用程序中,但不是擴展方法.Replace(

你需要使用帶有負向lookbehind的正則表達式:

(?<!\.)Replace\(
^^^^^^^

(?<!\\.)回顧后會作廢的所有比賽Replace(即立即前面有一個.

如果你想匹配Replace(只有前面有空格,請使用(?<!\\S)Replace\\((?<!\\S)將需要在Replace(之前的空格或字符串的開頭Replace(

由於(.是特殊的正則表達式元字符,它們必須用\\來轉義。

請參閱正則表達式演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM