使用数字检查模式的正则表达式

时间:2017-03-30 12:30:00

标签: javascript regex

我想创建一个执行以下操作的正则表达式

<\numberMAX8>[space or not]<\symbol(-)>[space or not]<\numberMAX8>和所有这一切的最多10倍 - 我不关心结束空间,数字也必须在5-8之间。

为了解释一下,我会举几个例子

前:

  

5-6 7-6 8-8 6-7 ok

     

4-7不好//因为4

     

7 - 6确定

     

7-6-6-6因为中间的-而无法正常

以下是我迄今为止没有包含中间空格的内容。

^([5-8](?:-|\s)[5-8][\s]){1,10}
          ->  <-//didnt work.

1 个答案:

答案 0 :(得分:2)

你走了:

^([5-8]\s*-\s*[5-8]\s*){1,10}$

所以解释是:

正则表达式匹配起始编号5-8 ^[5-8],然后是任意数量的空格\s*,然后短划线-,然后是任意数量的空格\s*,然后是一个从5到8 [5-8]的数字,然后是任意数量的空格\s*,该模式是{1}}的1到10倍,在模式{1,10}之后没有任何内容。