一、批量捕获GetComponent()括号中的元素
若希望捕获 GetComponent()
括号内的元素,且括号内的元素不以t开头,则输入表达式:
GetComponent\(([^t]*\w+)\)
[^t]
表示不以t开头的元素,[^t]*
表示若元素以t开头则不匹配,否则就匹配,因为星号表示匹配零次或一次,\w
匹配[0-9a-zA-Z_]
,匹配括号时需要加反斜杠\
进行转义,此时再加上一层小括号,就会捕获到一组不以t开头的元素,比如 GetComponent(Camera)
就会捕获到 Camera
。
若希望 GetComponent(Camera)
替换成 GetComponent(typeof(Camera))
则继续输入替换正则表达式:
GetComponent(typeof($1))
$1
表示取第一组捕获到的元素,比如 GetComponent(Camera)
就会捕获到Camera
。 若不止一组,也可以继续填入 $2
、$3
…。
二、批量替换.text为SetText
同理,若希望把类似textComponent.text = "abc"
这样的字符串改成self:SetText(textComponent,"abc")
,也可以输入表达式:
([\w.]+)\.text\s*=\s*([^;]+)
其中([\w.]+)
表示任意非空字符串,.text
是固定的字符串,\s*
表示任意数量的空格,([^;]+)
是任意字符串,注意括号跟前面的例子一样是代表要捕获的一个组,比如上述表达式代表我要捕获([\w.]+)
和([^;]+)
,最后输入这个即可:
self:SetText($1,$2)