我有一个用逗号分隔的名字列表,名字的格式是Surname,后面是名字和中间名,如下所示
Parameshwar S,Goutami,Patil D B
我希望使用正则表达式来查找和替换,以便我的输出将如名字中间名和姓氏 S Parameshwar,Goutami,D B Patil
答案 0 :(得分:1)
使用正则表达式([a-zA-Z]+) +([a-zA-Z][^\n\r,]*)(?=$|,)
查找并替换为\2 \1
https://regex101.com/r/qH6rL9/2查看结果。
简而言之,这就是正则表达式正在做的事情
([a-zA-Z]+)
:(第1组)一堆字母
+
:跟随至少一个空格
([a-zA-Z][^\n\r,]*)
:(第2组)后跟以字母开头的内容,然后是非换行符 - 非逗号
(?=$|,)
:直到你遇到一个位置是行尾或逗号
第1组是姓氏,第2组是名称的其余部分。