【问题标题】:Can Anyone Complete this regex?任何人都可以完成这个正则表达式吗?
【发布时间】:2016-06-10 06:45:52
【问题描述】:
KELECTRIC.BNK.20160526

比较上面的表达式,在第二个句号后取8位,共22个字符,

下面的表达式工作正常,直到第二个句号,但句号后不取数字

^(KELECTRIC)\.(BNK)+\.$

【问题讨论】:

  • ^(KELECTRIC)\.(BNK)\.([0-9]{8})$
  • 感谢工作正常 :)
  • 小修改 :-- ^KELECTRIC\.BNK\.\K([0-9]{8})$

标签: asp.net regex regex-negation


【解决方案1】:

您可以像这样接受第二个句号后的 8 位数字

^(KELECTRIC)\.(BNK)\.(\d{8})$

【讨论】:

  • 也许使用 (\d{8}) 会更好,这样您就可以从一组而不是 8 个中获取数字?
  • 我认为两者都是一样的。我已经检查过,两者都工作正常。
【解决方案2】:

试试^(KELECTRIC)\.(BNK)\.[0-9]{8}$^([A-Z]{1,})\.([A-Z]{1,})\.[0-9]{8}$

【讨论】:

    【解决方案3】:
    ^(KELECTRIC)\.(BNK)\.([0-9]{8})$
    

    Kuba Wyrostek 和其他一些人回答了这个问题

    谢谢

    【讨论】:

    • 它将接受只有. 可以到达的位置的每个字符。您应该改用\.KELECTRIC-BNK-20160526 也将是一个有效的字符串。
    • 这相当于@MHassan的回答,所以最好接受他的回答而不是自己写。
    猜你喜欢
    • 1970-01-01
    • 2013-09-18
    • 2013-06-06
    • 2011-02-19
    • 2011-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多