我目前正在编程一个词汇算法,该算法可以检查用户是否正确输入了单词。我有以下情况:
该词的正确解决方案是“part1,part2”。
用户应该能够输入“part1”(答案1),“part2”(答案2)或“part1,part2”(答案3)。
我现在尝试将用户提供的字符串与以下自动创建的正则表达式进行匹配:

^(part1|part2)$

这只会返回正确的答案1和2,而答案3是错误的。我现在想知道是否存在类似于|的运算符。表示and/or而不是either...or

谁能帮我解决这个问题?

最佳答案

我假设您要动态构建一个正则表达式,以包含除part1和part2之外的其他单词,并且您希望顺序无关紧要。如果是这样,您可以使用以下方式:

((^|, )(part1|part2|part3))+$

正面比赛:
part1
part2, part1
part1, part2, part3

否定匹配项:
part1,           //with and without trailing spaces.
part3, part2,
otherpart1

关于regex - 正则表达式中的AND/OR运算符如何表示?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8020848/

10-10 18:14