我目前正在编写一个词汇算法来检查用户是否正确输入了单词。我有以下情况: 该词的正确答案是“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/