匹配逗号分隔的用户故事的模式

时间:2018-11-05 14:16:01

标签: regex

我想确保条目的格式正确。用户故事可以输入为US12312412US12312412,...,US12312415。任意数量的用户故事,用逗号分隔。这是我想出的正则表达式:"US[0-9](,US[0-9])*")。为什么(,US[0-9])*会识别更多的输入,而不仅仅是前面带有逗号的其他用户故事?该部分还将接受,,,,,,,,。如何编写它以确保它只接受我上面写的内容?

1 个答案:

答案 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个以上数字
  • $-字符串的结尾。