【问题标题】:Regex for xml schema that accept latin characters接受拉丁字符的 xml 模式的正则表达式
【发布时间】:2014-12-20 02:29:57
【问题描述】:

我需要一个用于 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

【问题讨论】:

    标签: xml regex utf-8


    【解决方案1】:

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

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

    DEMO

    【讨论】:

    • 谢谢!它完全符合我的要求。
    【解决方案2】:

    怎么样

    ^[A-Z]\S+\s\S+
    

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

    【讨论】:

    • 谢谢!它非常适合两个词。两个人接受超过两个词的最佳方式是什么?
    【解决方案3】:

    也试试这个。

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

    【讨论】:

      猜你喜欢
      • 2018-06-21
      • 2018-10-13
      • 1970-01-01
      • 2013-01-27
      • 2016-05-13
      • 2015-02-26
      • 2015-07-09
      • 2020-06-10
      • 2021-04-13
      相关资源
      最近更新 更多