2011-07-13 75 views
0

我有串,如:正則表達式查找和替換

('Michael Herold','Michael Herold'),

,但我需要刪除的最後一個部分,所以我結束了:

('Michael Herold'),

我對於正則表達式來說,它仍然是新的,所以它們讓我困惑。我正在使用Notepad ++。

+0

你能舉幾個例子嗎?第二個字符串總是必須是「Michael Herold」,還是總是需要等於第一個字符串?例如,'('Michael Herold','不是Michael Herold')'應該改變'有點不清楚。 – dlras2

回答

0
find: \('([^']*)','\1'\) 
Replace: ('\1') 
+0

我不認爲這回答*全部* – dlras2

+0

這個問題在記事本++ – 1337XyPhR

+0

這工作。謝謝 –

0

所以你使用將取決於語言的實際功能。 Notepad ++是一種文本編輯器,不是一種語言。

您需要的正則表達式是「,'Michael Herold'」,您將用空白字符串「」代替任何匹配。

所以在PHP例如,你必須

$source = "('Michael Herold','Michael Herold')"; 
    $pattern = "/(,'Michael Herold')+/"; 
    $newString = $preg_replace($pattern, $source, ""); 

不要在你使用任何語言的等價物。

+0

這將匹配'('不是邁克爾赫羅爾德','邁克爾赫羅德'),'('邁克爾赫羅德','邁克爾赫羅德','邁克爾赫羅德')等我不能肯定地說這不是OP想要的,但我想我會指出。 – dlras2

0

我不知道是什麼味道正則表達式的記事本++用途,但嘗試更換這個表達式:這一個

\('([^']*)','\1'\)

('$1')

\1比賽無論是在第一組單引號中找到(在您的示例中爲Michael Herold),並且$1被替換爲相同的字符串。 (嘗試\1如果$1在記事本中不起作用++)

看到它在行動here