我试图构造一个正则表达式以查找以下变体的文本。
NSLocalizedString(@"TEXT")
NSLocalizedStringFromTable(@"TEXT")
NSLocalizedStringWithDefaultValue(@"TEXT")
...
目的是提取
TEXT
。我已经能够为每个单独的函数或宏(例如(?<=NSLocalizedString)\(@"(.*?)"
)构造一个正则表达式。但是,我正在寻找一个解决方案,只要函数名称以NSLocalizedString
开头,无论该函数的名称如何。我以为它就像
(?<=NSLocalizedString\w+)\(@"(.*?)"
一样简单,但这似乎并不能解决问题。 最佳答案
这个怎么样?
/NSLocalizedString\w*\(@"(.*)"\)/
说明:
NSLocalizedString 'NSLocalizedString'
\w+ word characters (a-z, A-Z, 0-9, _) (0 or
more times (matching the most amount
possible))
\( '('
@" '@"'
( group and capture to \1:
.* any character except \n (0 or more times
(matching the most amount possible))
) end of \1
" '"'
\) ')'