我试图构造一个正则表达式以查找以下变体的文本。

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
  "                        '"'
  \)                       ')'

10-07 20:23