我需要测试一个字符串(Javascript)(在textarea中输入)。像这样:
111-11111
22-2222
3333333-33
...
这是我使用的表达式:
/(\d+-\d+\n*)+/
这个想法是:整个\d+-\d+\n*
组(匹配111-11111 \ n)必须至少重复一次
这适用于字符串,例如:
111-1111
或
111-1111\n
但每当我尝试时:
111-1111
222
它也通过了,这是错误的。
我该如何纠正?
答案 0 :(得分:1)
我认为你正在寻找这个:
/\d+-\d+\n*/g
答案 1 :(得分:1)
我想你想要一个像这样的正则表达式:
(\d+-\d+\s*)+(?![\s\S])
在你的模式之后,它不会接受任何其他字符。
注意:
- 我使用
\s
来覆盖任何空白字符,例如\n
,\r
,\t
,。您可以使用
\n
对其进行更严格的约定或[\n\r]
。[\s\S]
将涵盖涉及空白字符和非空白字符的任何字符。(?!)
是一个负面展望,它将检查不包含您的标准。