正则表达式最多可与N个数字匹配且具有无限的连字符和空格?

时间:2019-07-12 04:50:08

标签: regex

我需要一个正则表达式,它最多可以将9个数字与任意数量的空格和/或连字符(前导,尾随或在数字内)匹配,它应该是什么样?

我尝试过:

^[0-9 \\-].*?$

^\\d{9}

但是它们仅用于我的目的,需要一种将它们合并在一起的方法。

谢谢!

1 个答案:

答案 0 :(得分:2)

尝试此正则表达式:

^(?:[ -]*\d[ -]*){1,9}$

Click for Demo

说明:

  • ^-断言字符串的开头
  • (?:[ -]*\d[ -]*){1,9}
    • [ -]*-匹配0+次出现的空格或-
    • \d-匹配数字
    • [ -]*-匹配0+次出现的空格或-
    • {1,9}-匹配1到9个出现在0+空格或0+ -
    • 之前或之后的数字
  • $-声明字符串的结尾