得到错误'重复 - 运算符操作数无效',正面背后的负面看法(?<! - (Log \())@“[^”] +“

时间:2015-08-31 01:15:42

标签: regex xcode bash shell grep

我想找到项目中所有硬编码的字符串,除了单词以Log(开头。

使用此正则表达式执行此操作但收到上述错误。

KEYWORDS='(?<!(Log\())@"[^"]+"'

find "${SRCROOT}" \( -name "*.h" -or -name "*.m" \) -print0 | xargs -0 egrep --with-filename "($KEYWORDS).*\$

是否有其他替代正则表达式或脚本可以获得相同的结果。

1 个答案:

答案 0 :(得分:1)

您可能只是过滤掉了您不想看到的内容:

xargs -0 grep -EH '@"[^"]+"' | grep -v 'LOG\(@"'

如果你想坚持你的正则表达式:

xargs -0 perl -ne 'print "$ARGV: $_" if /(?<!LOG\()@".+?"/'