使用可选字符和以字符串为前缀的单词捕获每个匹配句子

时间:2018-01-18 13:35:52

标签: regex

如何使用可选字符捕获每个匹配项?

这就是我的意思:

keystring word

keystring word,word1,word2

keystring word,word1:BLUE,word2:RED

我有一个关键字符串,在每个句子中都有一个或多个用,分隔的单词,有时它们有一个可选的:,后跟一个大写的字符串值。

到目前为止,这是我能捕捉到的: https://regexr.com/3jdg1

1 个答案:

答案 0 :(得分:1)

您可以使用:

(\w+(:\w+|\s\w+?)?(,\s+)?)+

或者您知道关键字:

keystring\s(\w+(:\w+|\s\w+?)?(,\s+)?)+

您可以尝试here (pythex.org)

这应该像这些那样匹配孔线:

keystring word
keystring word, word1, word2
keystring word, word1:BLUE, word2:RED
keystring word, word1, word2:RED
keystring word, word1, word2:RED, word3

而不是像这样的行:

tralala, hello, 33