0

テキストファイルがあり、そこから翻訳されたすべての文字列を取得したいと考えています。

すべての翻訳は次のようになります。

_('string')

だから私はこの正規表現を持っています:

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

私のすべての翻訳を見つける...どうすればこれを反転させて、他のすべてを削除できますか?

私はやった:

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

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

シェルで一重引用符をエスケープする方法がわからなかったので、一発でそれを行うことさえできませんでした:(

4

1 に答える 1

0

多くの場合、正規表現の否定はかなり複雑です。正規表現で他のすべてを削除する代わりに、現在の正規表現のすべての一致を見つけてから、一致を結合して一致のみの文字列を作成する方がはるかに優れています。

于 2012-10-11T19:51:08.243 に答える