2012-07-13 223 views
0

我有一些正則表達式的問題;我需要找到引號之間的所有內容,而不是要刪除的內容。現在,標誌着行情是很容易的只是簡單的正則表達式刪除無標記

".*?" 

用點新行(匹配行)相匹配。所以現在我已經標明瞭我需要的一切,我可以簡單地刪除這個搜索找不到的所有東西嗎?爲什麼這麼做很難 - 刪除未標記的文本;這個概念本身非常簡單。

我使用正則表達式的記事本+ +。

接下來,我需要在這之後和格式去除前2個報價,所享有X報價如下所示的方式。但即使是基本的概念,我仍然掙扎着;我需要有人讓我回到正軌。

"foo" "bar" "..." "..." "..." "baz" --> ..., ..., ..., baz 

"foo" "bar" "" "...     --> ......, baz 
..." "baz" 
+0

爲什麼「富」與「酒吧」被刪除?他們不是在引號嗎? – 2012-07-13 17:51:28

+0

回覆:點1,不能想辦法這一輪。 REGEX根據它的匹配行事,而不是匹配的行爲。如果REGEX允許否定序列(而不是一次只能輸入一個字符),這可能是微不足道的,但唉... – Utkanos 2012-07-13 18:02:05

+0

他們「foo」和「bar」在引號中,但它們是不需要的數據。 – user1524203 2012-07-13 18:10:52

回答

0

刪除一切到第一次報價:

Search: \A[^"]+ 
Replace: (nothing) 

匹配任何引號和任何以下非引號字符,與引用的文字替換:

Search: ("[^"]*")[^"]+ 
Replace: $1 

我assumi NG是\A文本的開始相一致,並且$1指的是在正則表達式的記事本++的味道捕獲組。