应用场景
[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]
这样,就可以批量替换表达式了
网友评论