最少 9 个数字的正则表达式

标签 regex

我正在尝试制作一个 javascript 正则表达式来匹配:

  • 要求:9 个或更多数字。
  • 可选:破折号、正斜杠、加号和空格字符。
  • 禁止:任何其他字符

  • 到目前为止我有
    ^[0-9-+\/\s]{9,}$
    

    唯一的问题(我认为)是它计算了非数字允许的字符以达到最小 9。

    我该如何修改它以便它只计算达到最小 9 的数字?

    最佳答案

    如果您想在单个 RE 中解决此问题(不一定推荐,但有时很有用):

    ^[-+\/\s]*([0-9][-+\/\s]*){9,}$
    

    或者,如果您希望第一个和最后一个字符是数字:
    ^[0-9](^[-+\/\s]*[0-9]){8,}$
    

    那就是:一个数字,后跟八个或更多的可选字符,每个都以一个数字结尾。

    关于最少 9 个数字的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16564088/

    相关文章:

    java - 仅当字符未直接包含在所需字符串之前时,正则表达式才匹配

    regex - 从字符串中提取时钟时间

    regex - 当 + 匹配时,为什么 * 不匹配?

    python - 从字符串列表中提取薪水

    php - 如何在 PHP 中通过多个分隔符拆分字符串?

    javascript - 如何在不需要转义所有内容的情况下进行全局字符串替换?

    c# - 生日日期的正则表达式 asp.net

    javascript - 什么时候需要转义正则表达式字符集中的字符([] 内)?

    regex - 如何根据数据的存在替换一行中的某些字符...?

    python - 正则表达式 : replace comma in string, Python