适用于接受拉丁字符的xml架构的正则表达式

时间:2014-10-24 09:02:37

标签: xml regex utf-8

我需要一个xml架构的正则表达式,它描述“以大写字母开头的名称,并且它们至少由两个单独的单词组成。”

我提出这个([A-Z])([a-z]*)\s(([A-Z])([a-z]*)(\s)*)+并且它有效。例子:

John Russel  

John Russel Peter

Super Mario

我认为它可能会更短但我不知道该怎么做。

但我的问题是接受拉丁字符,例如éàã。我该怎么做才能接受这些角色?

我必须接受如下名字:

Super Mário 
José Super Mário

3 个答案:

答案 0 :(得分:2)

使用\p{L}匹配任何语言的任何字母。

^[A-Z]\p{L}*(?:\s[A-Z]\p{L}*)+$

DEMO

答案 1 :(得分:1)

怎么样?
^[A-Z]\S+\s\S+

示例:http://regex101.com/r/eF0uB4/1

答案 2 :(得分:1)

也试一试。

([A-Z]+\S+)*(\s)*