如何选择除模式之外的所有文本

时间:2012-10-11 19:44:49

标签: regex

我有一个文本文件,我想从中获取所有已翻译的字符串。

所有翻译都是这样的:

_('string')

所以我有这个正则表达式:

(_\(['"].+['"]\))

找到我的所有翻译...现在我如何反转这个以便我可以删除其他所有内容?

我最终做了:

egrep "_\('.+?)" ~myfile.py -o >> ~/Desktop/translations.txt

egrep '_\(".+?)' ~myfile.py -o >> ~/Desktop/translations.txt

我甚至无法一次性完成,因为我不知道如何逃避shell中的单引号:(

1 个答案:

答案 0 :(得分:0)

否定正则表达式通常非常复杂。不要使用正则表达式删除其他所有内容,最好找到当前正则表达式的所有匹配项,然后将匹配项一起加入以创建仅匹配项的字符串。