下午好,C#正则表达式验证两个名字或更多
我想正则表达式来验证,如果用户输入两个名字以上,不仅是第一个名字,在这个例子中:
例如: FABRICIO(不匹配)
例: FABRICIO Oliveira的(匹配) FABRICIO Oliveira的泽维尔(匹配)
注:表达式必须包含修饰
下午好,C#正则表达式验证两个名字或更多
我想正则表达式来验证,如果用户输入两个名字以上,不仅是第一个名字,在这个例子中:
例如: FABRICIO(不匹配)
例: FABRICIO Oliveira的(匹配) FABRICIO Oliveira的泽维尔(匹配)
注:表达式必须包含修饰
这里的一个正则表达式,仅依赖于一个空白分隔符:
^\S+(\s\S+)+$
它使这些假设:
* 这是基于@ juharr的评论,但括号允许两个以上的名称。
编辑:您可以使用此正则表达式这里https://regex101.com/r/nS3hN8/1
EDIT2玩:添加了开始和结束锚正则表达式
谢谢!有用!! –
一个简单的等价模式应该是'\ S \ s \ S' –
@ p.s.w.g,这很有趣,我确信你的回答是错误的,直到我尝试了几个例子。我更喜欢你的模式。 – user2023861
尝试其匹配两个由空格分隔的任何长度的话此正则表达式:
new Regex(@"\w+ \w+");
所以“约翰奥康纳”不是一个名字?由于口音,它甚至不适用于“FabrícioOliveira”。 – juharr
是“John O'Connor”是一个名字。如果用户只输入名字,表达式不匹配。例如:“约翰”。 –
约翰奥康纳在我的包装盒上工作 –
真的,你可以只使用这样的:
if (Regex.Match(stringname, @"\w+\s\w+").Success)
相关: [Falsehoods Programmers Believe About Names](https://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/) –
麦当娜王子(是的,我知道他已经死了)或者Beyoncé加入你的俱乐部? – Plutonix
所以你的要求是,字符是有效的名称字符,并有一个空间?那么“玛丽安”呢?那可能只是一个名字,或者是第一个和中间的? – juharr