【问题标题】:regexp: FirstName.LastName or FirstName.Letter.LastName正则表达式:FirstName.LastName 或 FirstName.Letter.LastName
【发布时间】:2014-05-06 09:21:10
【问题描述】:

我想创建一个正则表达式,但不幸的是我的想法不起作用正则表达式应该只允许输入由两部分组成的字符串:

第一部分:字母(a-z)和点

第二部分:只有一个字母和一个点(这部分不是必需的,但可以容忍)

第二部分:点和字母(a-z)

有效例子:

  • john.shmith
  • john.a.smith
  • harry.x.doe
  • test.y.acme

没有匹配的例子:

  • 约翰·史密斯
  • 约翰·史密斯
  • 约翰.A.史密斯
  • 约翰.x.史密斯
  • 约翰.y.smith
  • Jane.y.smith.
  • 玛丽-凯特.史密斯

【问题讨论】:

    标签: regex


    【解决方案1】:

    一个可能的解决方案:

    ^[a-z]+\.([a-z]\.)?[a-z]+$
    

    更多细节:

    ^                  --->  start of match
    [a-z]+\.           --->  first part (letters [a-z] and a dot)
    ([a-z]\.)?         --->  optional part (only one letter and a dot)
    [a-z]+             --->  second part (letters [a-z])
    $                  --->  end of match
    

    【讨论】:

      【解决方案2】:

      第一部分:[a-z]+\.

      第二部分:([a-z]\.)?[a-z]+

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-26
        • 2020-03-06
        • 1970-01-01
        • 1970-01-01
        • 2015-12-29
        相关资源
        最近更新 更多