Regex 正则表达式匹配两个单词中的一个

Regex 正则表达式匹配两个单词中的一个,regex,forms,validation,Regex,Forms,Validation,我的输入只能有两个值apple或banana。我可以使用什么正则表达式来确保提交了这两个单词中的任何一个?有不同的正则表达式引擎,但我认为它们中的大多数都可以使用此正则表达式: apple|banana 这将有助于: /^(apple|banana)$/ 要从捕获的字符串中排除(例如,$1,$2): 对于某些人来说,将其用作非捕获组将非常有用。使用(?:apple | banna)也会匹配,但不会将它们添加到捕获字符串的列表中(例如$1,$2。$N)。嗨,快速提问,如果我不想让appleba

我的输入只能有两个值
apple
banana
。我可以使用什么正则表达式来确保提交了这两个单词中的任何一个?

有不同的正则表达式引擎,但我认为它们中的大多数都可以使用此正则表达式:

apple|banana
这将有助于:

/^(apple|banana)$/
要从捕获的字符串中排除(例如,
$1
$2
):


对于某些人来说,将其用作非捕获组将非常有用。使用
(?:apple | banna)
也会匹配,但不会将它们添加到捕获字符串的列表中(例如
$1
$2
$N
)。嗨,快速提问,如果我不想让applebanana匹配,我该怎么办?上面的正则表达式匹配apple和banana,但不匹配applebanana。如果您计划在正则表达式中添加更多内容,你需要在单词周围加括号,比如:
(apple | banana)
。但是如何使它不区分大小写呢?这是用
re.IGNORECASE
标志设置的。例如:
re.compile((apple | banana)”,re.IGNORECASE)
这个正则表达式是用什么语言/环境实现的?在许多情况下,正则表达式似乎是不必要的开销。
(?:apple|banana)