我想要一个C#的正则表达式,匹配"Johnson","Del Sol"或"Del La Range"; 换句话说,它应该匹配中间空格但在开头或结尾没有空格的单词.
^\p{L}+(\s+\p{L}+)*$
Run Code Online (Sandbox Code Playgroud)
此正则表达式具有以下功能:
\w或遗嘱的名字[^ ])但是像"奥康纳"这样的姓氏或带有连字号的姓氏......嗯......
这 ?预选赛是你的朋友。进行尽可能短的匹配而不是贪婪的匹配。将其用作名字,如下所示:
^(.+?) (.+)$
Run Code Online (Sandbox Code Playgroud)
第 1 组获取第一个空间之前的所有内容,第 2 组获取其余部分。
当然,现在如果名字包含空格怎么办?