Javascript 字符串中多个字符串的正则表达式精确匹配

Javascript 字符串中多个字符串的正则表达式精确匹配,javascript,regex,Javascript,Regex,我有一串|狗|人|猫| | |人|猫| |人|猫|人|人|猫|人|人 输入字符串始终在管道之间拆分 我目前有以下几点: ((^|, )(?=.*\|DOG|\b.$)(?=.*\|CAT\b).*$) 这几乎是可行的,如果我的输入字符串是| DOG | MAN | CAT |,这很好,但正如我指定的DOGS not DOG,它不应该匹配可能会帮助您创建一个组,您可以使用|(OR)在其中列出所有所需的目标字符串,并且您可能不会从左到右绑定它: \b(DOG|CAT|ANYTHING|ELSE|T

我有一串|狗|人|猫| | |人|猫| |人|猫|人|人|猫|人|人

输入字符串始终在管道之间拆分

我目前有以下几点:

((^|, )(?=.*\|DOG|\b.$)(?=.*\|CAT\b).*$)
这几乎是可行的,如果我的输入字符串是| DOG | MAN | CAT |,这很好,但正如我指定的DOGS not DOG,它不应该匹配

可能会帮助您创建一个组,您可以使用|(OR)在其中列出所有所需的目标字符串,并且您可能不会从左到右绑定它:

\b(DOG|CAT|ANYTHING|ELSE|THAT|YOU|WISH)\b

您的输入字符串是否始终以管道分隔?我不完全清楚您可能的输入是什么。
if(/^(?=.\\\\\\\\\\\\\\\\)(?=.\\\\\\\\\\\\\)/.test(“|”+s+“|”){return true;}
是的,输入始终是管道分隔的。Wiktor,这完全符合预期,谢谢。如果需要匹配狗或猫,第一个可以工作,这是我需要做的另一件事。第二个不适合我的需要,因为在管道中它与猫匹配。不过谢谢,第一个很有用