查找硬编码字符串但不查找文件名字符串(Xcode,Regex帮助)

And*_*rew 7 regex string xcode objective-c ios

我在我的应用程序中搜索所有硬编码字符串,以便我可以本地化它们.目前我正在使用常规快速搜索@"[^"] +",如此答案所示: 在xcode中搜索硬编码文本

问题是我想只找到这种格式的一些字符串.例如,我想排除[UIImage imageNamed:@"string"]和NSLog(@"Log string").我认为最简单的方法是找到@"[^"] +"格式的字符串,只要先前的字符不包含NSLog(或imageNamed:,或者我将手动输入的其他几项内容).

如何编写排除这些案例的正则表达式?

Soh*_*eil 11

您可以使用负面的lookbehind来排除这些情况:

(?<!(imageNamed:|NSLog\())@"[^"]+"


Sas*_*ush 5

我认为这会更全面

"[a-zA-Z0-9 ?!.,;/\-=+)(*&%#@]+"
Run Code Online (Sandbox Code Playgroud)

搜索 > 查找 > 正则表达式 -- 类型

在此输入图像描述

在此输入图像描述