[英]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.