【发布时间】:2016-11-17 10:35:21
【问题描述】:
我想创建一个只有名字和姓氏的正则表达式,只有 2 个单词和 1 个空格。
目前我的正则表达式在这里:https://regex101.com/r/WigXOo/1
我试过下面的正则表达式:
[A-Z][a-z]+(\s|,)[A-Z][a-z]{1,19}
验证正确:
苏尼尔·库马尔(正确)
但它允许第三个名称,例如:Sunil Kumar 123(正确)
我希望得到如下结果:
正确的输出:
苏尼尔库马尔(正确)
输出不正确:
Sunil Kumar 123(不正确)(我只想要名字和第二个名字)
SUnil Kumar(不正确)(只需要第一个名字的 1 个字母和第二个名字的第二个字母大写)
Sunil Kumar(不正确)(第一个和第二个名字之间只需要一个空格)(名字和第二个名字之间有 2 个空格)
请帮忙。
【问题讨论】:
-
你说Sunil Kumar(正确)和Sunil Kumar(错误)是什么问题,但它们之间没有区别。
-
必填Falsehoods Programmers Believe About Names。另外,去阅读正则表达式教程。您需要开始和结束锚点。请阅读How to Ask 并分享您的研究。 “你尝试了什么”并不意味着“显示不起作用的代码”,它的意思是“显示你尝试过什么让该代码工作”。
-
我已经提到了名字和姓氏之间有2个空格。
-
反正2个空格的版本不匹配