我需要一个匹配以下示例字符串的正则表达式:
Example 1: "red, blue, and hot"
Example 2: "red, blue, or hot"
三个单独的词,前两个后跟逗号,连词“and”(案例 1)或“or”(案例 2)。
Case 1: "<word01>, <word02>, and <word03>"
Case 2: "<word01>, <word02>, or <word03>"
我有以下(\w+,(\s|\n)+){2}(and|or)
成功匹配字符串的正则表达式,但它也会匹配字符串中包含我的示例表达式的字符串。如果字符串只包含我的示例表达式而没有其他内容,我只希望匹配成功。
换句话说green, red, blue, and hot
不应该匹配,因为它在匹配之前包含一个额外的单词和逗号。
正则表达式变体
根据您想如何处理标点符号,我给了您一些变体。
(^\w+\,\s+\w+\,\s+(and|or)\s+\w+\Z)
red, blue, and hot
(^\w+\,\s+\w+\,\s+(and|or)\s+\w+\.\Z)
red, blue, and hot.
(^\w+\,\s+\w+\,\s+(and|or)\s+\w+\.?\Z)
red, blue, and hot
red, blue, and hot.
使用正则表达式