正则表达式不考虑空格

时间:2017-01-05 15:49:49

标签: regex

我想在文本中找到n个连续的数字。我不能只允许空间,因为这会破坏计数规则(n位数!)。最简单的方法是什么?

我的意思是我不想做 \d\s*\d\s*\d\s* ......等等我感觉有更好的方式。

编辑:[\d\s]{n}无效,因为我想要n个数字而不是n个字符。

2 个答案:

答案 0 :(得分:3)

这应该有效:

/^\s*(?:\d\s*){n}$/

说明:

  • /^\s*…$将匹配一个可选地以空格开头的字符串。
  • (?:…){n}会创建一个非捕获组,其中组中的所有内容都将匹配n次。
  • \d\s*将匹配一个数字,后面有可选的空格。

答案 1 :(得分:1)

这正好需要n位数字:

^\D*(\d\D*){n}\D*$

或者如果只允许空格而不是数字:

^ *(\d ){n} *$