2015-02-09 83 views
1

我正在使用Notepad ++查找(".*)"(.*)並將其替換爲\1\"\2,但它似乎不起作用。我不知道爲什麼。在記事本++中用引號括起來的引號替換引號內的引號?

例子:
Someone said "My name is "sean""
我希望它是:
Someone said "My name is \"sean\""

編輯:在我的情況下,收盤報價始終是行,以便將(".*)"(.*"$)工作的結束?

編輯2:第一個報價前面加上逗號,所以我會用(,".*)"(.*"$),儘管在某些情況下它可能不起作用,但我認爲它可以與我的文件一起工作。

現在有問題,替換它不添加\"它只是增加一些空間。

+2

替換字符串是可能的嗎?那麼這個:'「abc」,「123」'vs'「下面的字符」,「被稱爲逗號」'?你怎麼知道一個價值的結局和另一個開始? – Kobi 2015-02-09 11:41:34

+0

如果我這樣做(「。*)」(。*「$)」,那麼美元意味着行尾 – Cloules 2015-02-09 11:43:24

+0

然後你有更具體的要求,你需要編輯你的問題來解釋。 「我問」爲什麼?「,他們說」逃脫的字符!「' – Kobi 2015-02-09 11:47:55

回答

1

應該工作...你只需要做一點點固定...

什麼查找正則表達式應該("[^"]*)("\w*)(")([^"]*")
表達替換應\1\\\2\\\3\4

製作確定您選擇搜索模式爲「正則表達式」

說明...

這非常棘手 - 我假設在引號內引用的文本只是一個單詞。如果你認爲別的東西很難定下來。

你需要找到一個
"其次
[^"]* - 任意數目的字符不屬於"然後
("\w*)(") - 帶引號的單詞,然後最後 ([^"]*") - 非引號中的任何附加號碼字符+最終報價

這很重要,因爲默認情況下正則表達式匹配是貪婪的,並且.*將繼續匹配所有字符,包括"直到結束字符串(見link

在你需要有\\代表單個\

+0

當我使用它時,它將轉義字符添加到所有引號中。你能爲我簡單解釋一下這個正則表達式嗎? – Cloules 2015-02-09 12:06:08

+0

嗨@Cloules,只是現在更新了一些解釋。 – 2015-02-09 12:09:30

+0

再次問好 - @Cloules我已經更仔細地重讀了這個問題,並相應地更新了正則表達式和替換。請注意警告。我不得不在引號內假設一個單詞。 – 2015-02-09 12:47:25