我需要拆分全名。我知道这个问题一再被问到,但我找不到我需要的解决方案。正则表达式,将所有姓氏拆分为单个组
https://regex101.com/r/PvDIPA/1
我有一个全名:“名字中间名姓”
我需要所有的除了被投入的第一个名字在第1组
我已经试过这个表达式:( \ s + \ S *)$但它只在组1中放置'姓氏',我需要'中间名姓'在组1中。
我希望你能帮忙。
我需要拆分全名。我知道这个问题一再被问到,但我找不到我需要的解决方案。正则表达式,将所有姓氏拆分为单个组
https://regex101.com/r/PvDIPA/1
我有一个全名:“名字中间名姓”
我需要所有的除了被投入的第一个名字在第1组
我已经试过这个表达式:( \ s + \ S *)$但它只在组1中放置'姓氏',我需要'中间名姓'在组1中。
我希望你能帮忙。
您是否在寻找简单的东西:(\s+\S*){2}$
? https://regex101.com/r/PvDIPA/2
请注意,这只适用于有人有一个中间名。
也许这更适合你:^\w+((?:\h+\w+)+)$
https://regex101.com/r/PvDIPA/4
注意,因为我使用regex101与//gm
标志,我已经使用\h
这里代替\s
,所以\s
本来也匹配导致最终的行第一场比赛也在吃第二线。
[^ ]+ +((?:\w+ *){1,2})
用法
[^ ]+ +
匹配一切至多并包括一个空格字符的第一出现
((?:\w+ *){1,2})
捕获1或2次出现的任何ALPH一数字字符,接着是零个或更多的空间字符(外括号是捕获组,与?:
内侧支架是一个非捕获组查看在演示页越全面解释)
还允许为多个名称之间存在的空间不得超过