正则表达式模式不匹配

时间:2018-09-30 20:47:47

标签: regex

我有一个应该遵循的模式:

some-name:word1,some-name2:word2,some-name3:word3

它以一个单词(即苹果)开头,后跟一个冒号(:),之后应为(word1word2word3而且EOL不应使用逗号。 (apple:word1)

我正在使用以下模式:

((.*?):(word1|word2|word3),){1,}((.*?):(word1|word2|word3))$

但是如果我输入如下字词,它将失败:

some-word:word1,some-word:word2,failed_word,some_wordx:word3

在上面的示例中(failed_word)没有遵循该模式,应该会失败,但是会通过。

有人可以建议吗?

谢谢

1 个答案:

答案 0 :(得分:0)

以下正则表达式适用于您的第一个示例,而不适用于您的第二个示例:

^([^:,]+\:(word1|word2|word3))(,[^:,]+\:(word1|word2|word3))+$