xcode regular expression 正則表示式查詢替換
阿新 • • 發佈:2018-12-30
應用場景
[self presentModalViewController:imgPicker animated:YES];
在ios6已經deprecated,需要替換為其他格式
[self presentViewController:imgPicker animated:YES completion:nil];
如果程式碼中有多處程式碼,一處一處修改實在費力。這個時候正則表示式就派上用場
查詢
首先從這段程式碼中提取出特徵資訊,可以鎖定這行程式碼
presentModalViewController: animated:
那麼其中的引數怎麼辦呢,使用模糊匹配
presentModalViewController:(.*) animated:(.*)
注意.*
會把後面的所有字元匹配到,這是我們不希望看到的,因此需要加一個限制,表示匹配結束
presentModalViewController:(.*) animated:(.*)\]
其中,]
是方法的配對括號的後半個,\]
用來表示.*
的匹配結束。(注意,由於]
在正則表示式中有特殊含義,所以\]
進行轉義)
這樣,就可以匹配到類似格式的呼叫方法
替換
根據匹配結果,需要進行對應替換。.*
匹配到的內容怎麼呼叫呢?使用 $
,$1
表示第一個匹配表示式,$2
表示第二個匹配表示式,以此類推
presentViewController:$1 animated:$2 completion:nil]
這樣,就可以批量替換表示式了