2016-09-22 30 views
-3

我有逗號和名字的格式分隔的名稱的列表姓氏後跟名字和中間名這樣使用正則表達式在記事本++中重新排列名稱格式?

Parameshwar S,Goutami,帕蒂爾DB

,我想用正則表達式查找和替換,使我的輸出將遵循先中間名姓和名小號Parameshwar,Goutami,DB帕蒂爾

+1

你有什麼嘗試?什麼是不工作,什麼是錯誤的結果?在正則表達式替換操作中查找使用**捕獲組**的基本教程。 – qxz

回答

1

用正則表達式([a-zA-Z]+) +([a-zA-Z][^\n\r,]*)(?=$|,)查找和\2 \1

0123取代

https://regex101.com/r/qH6rL9/2查看結果。

簡單地說,這裏是正則表達式是做

([a-zA-Z]+):(第1組)字母的一堆
+:由至少一個空間跟隨
([a-zA-Z][^\n\r,]*):(第2組)遵循的東西開始與字母表,然後通過非換行符 - 非逗號
(?=$|,)遵循:直到達到一個位置或者是線端,或逗號

組1是姓,第2組是名稱的其餘部分。

+0

不錯的正則表達式和用法 –

+0

稍微更新一下。似乎Notepad ++可能會將換行符與'[^,] +'匹配,而最後一個預讀組中的捕獲組實際上是多餘的。我已經稍微更新了答案 –