2012-10-11 34 views
0

我有一個文本文件,我想從中獲取所有翻譯的字符串。如何選擇除圖案以外的所有文字

所有的翻譯,像這樣:

_('string')

所以我有這樣的正則表達式:

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

指找到我的翻譯...現在我怎麼顛倒這讓我可以刪除一切嗎?

我落得這樣做:

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

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

我甚至不能做到這一點在一杆,因爲我不知道如何逃生外殼中的單引號:(

+2

在那裏有很多(或多或少)不同的正則表達式實現。請指定您正在使用的語言。 – eminor

+0

爲什麼你不重複你的正則表達式的所有匹配? – m0skit0

+0

@ m0skit0我在文本編輯器中,想做一個查找和替換類型的東西 – speg

回答

0

否定正則表達式通常非常複雜,而不是使用正則表達式刪除其他所有內容,而是更好地查找當前正則表達式的所有匹配項,然後加入一起匹配以創建僅匹配的字符串。

+0

是的,我結束了使用grep並將匹配轉儲到一個新的文件。 – speg

相關問題