我想确保条目的格式正确。用户故事可以输入为US12312412
或US12312412,...,US12312415
。任意数量的用户故事,用逗号分隔。这是我想出的正则表达式:"US[0-9](,US[0-9])*")
。为什么(,US[0-9])*
会识别更多的输入,而不仅仅是前面带有逗号的其他用户故事?该部分还将接受,,,,,,,,
。如何编写它以确保它只接受我上面写的内容?
答案 0 :(得分:1)
[0-9]
模式仅匹配一位数字。要匹配一个或多个事件,您需要对其应用+
量词。因此,要匹配单个US
代码,您需要US[0-9]+
。
然后,您需要锚定模式以仅匹配整个字符串,除非解析模式的方法自动执行此操作。
^US[0-9]+(?:,US[0-9]+)*$
请参见regex demo
详细信息
^
-字符串的开头US
-一个US
子字符串[0-9]+
-1个以上数字(?:,US[0-9]+)*
-出现零次或多次
,
-逗号US[0-9]+
-US
和1个以上数字$
-字符串的结尾。