如何查找并用* = *替换所有* = *

时间:2019-05-10 05:01:38

标签: regex xcode

我有一个带有许多类的大型xcode项目。很少有类包含=且没有这样的空格

var name="john"

在大多数地方,我的代码都具有这样的适当空间

var id = 10

我想要的是

  • 找到*=*并替换为* = *
  • 找到*==*并替换为* == *
  • 找到*!=*并替换为* != *
  • 找到*>=*并替换为* >= *
  • 找到*<=*并替换为* <= *

可能是var a=bview.isHidden=falseif(a==b)dict["a"]=b等之类的

我尝试了命令 + shift + f 查找->正则表达式-> .*?=

3 个答案:

答案 0 :(得分:3)

给出您要查找和替换运算符===!=<<=,{{1}的更新问题}和>两边都没有空格,并添加空格可以使用以下正则表达式:

对于搜索字段:

>=

替换字段:

([\w\]])(=|==|<|<=|>|>=|!=)([\w"])

这将找到一个单词字符(字母或数字)或$1 $2 $3 ,后跟列出的运算符之一,然后是单词字符或引号。

然后将匹配项替换为在运算符之前找到的字符,空格,匹配的运算符,空格以及在运算符之后找到的字符。

您最终可能会添加其他运算符,例如]+=等。您可能需要在运算符之前或之后添加其他字符以进行匹配,但这为您提供了一个良好的开端。

答案 1 :(得分:2)

使用正则表达式可以匹配所有字符,无论它们是否为空格。

相反,请尝试[^\s<>=!]=[^\s=]

说明:

  • 方括号告诉正则表达式匹配某个示例 在其中指定。
  • 方括号开头的^告诉正则表达式看起来 对于不会出现的问题。
  • \s匹配空白(而不是\S,不匹配空白)。

总而言之,这说:“找到一个字符串,该字符串开头不是空格,或者小于,大于,不是符号或等号,然后是等号,然后是另一个不是空格或等号。“

另一种可能性是[a-zA-Z0-9]=[^\s=]。这样会在等号旁边找到一个字母或数字,然后是等号,再后面是等号或空格。

答案 2 :(得分:0)

您可以通过使用导航器中的“插入模式”选项找到相同的内容

enter image description here


enter image description here