【问题标题】:Regular expression - allow digits but no dash punctuation mark正则表达式 - 允许数字但不允许短划线标点符号
【发布时间】:2014-11-17 07:40:15
【问题描述】:

我想写一个正则表达式。这是我的基本要求:

  1. 只允许 11 个数字。
  2. 这 11 个数字中不能有破折号 (-)。

这是我写的正则表达式:

\d{11}[^-]

示例:
a) 12345654321 => 有效
b) 123-4567890 => 无效
c) -1234567890 => 无效
d) 1234567890- => 无效

我没有得到正确的结果。应该怎么改?

【问题讨论】:

  • 看起来你可以使用正则表达式教程。您当前的尝试将匹配 11 位数字,后跟一个不是 - 的字符。但是为什么规则 #2 甚至存在呢? #1 表示无论如何都没有破折号。
  • @Michael 你能发布一些有效和无效匹配的示例字符串吗?
  • @AvinashRaj 我已经为您发布了一些示例。

标签: regex


【解决方案1】:
^\d{11}$ 

这应该可以....... 带锚

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-09
    • 1970-01-01
    • 1970-01-01
    • 2016-07-03
    • 2012-08-02
    • 1970-01-01
    相关资源
    最近更新 更多