我想创建一个执行以下操作的正则表达式
<\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.
答案 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}
之后没有任何内容。