我是regex的新手并且尝试制定一个但没有成功。输入字符串包含多个逗号分隔的单词,例如蝙蝠,猫,垫,鼠。我需要查找作为此字符串子集的所有行,例如它应该找到作为该字符串子集的行,但它不应该返回包含除这些单词以外的任何行的行。
输入字符串
bat,cat,mat,rat
应匹配以下行:
bat
bat,cat
bat,mat,rat
cat,mat
mat
不应匹配以下行:
bat,pat
bat,cat,pat
pat
答案 0 :(得分:1)
^(?:bat|cat|mat|rat)(?:,(?:bat|cat|mat|rat)\b)*$
试试这个。看看演示。
https://regex101.com/r/hR7tH4/11
如果您不想匹配bat,bat
^(?!.*?\b(\w+)\b.*?\b\1\b)(?:bat|cat|mat|rat)(?:,(?:bat|cat|mat|rat)\b)*$
答案 1 :(得分:0)
您不需要正则表达式来执行此操作: