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

评论

此正则表达式在哪种语言/环境中实施?在许多情况下,正则表达式似乎是不必要的开销。

#1 楼

这将执行以下操作:

/^(apple|banana)$/


从捕获的字符串中排除(例如):

(?:apple|banana)


评论


对于某些人来说,将其用作非捕获组将很有用。使用(?:apple | banna)将会匹配,但不会将它们添加到捕获的字符串列表中(例如$ 1,$ 2 .. $ N)。

–doub1ejack
2013年12月18日15:45



嗨,快问,如果我不希望applebanana匹配,该怎么办?

– Sean Reyes
20-03-31在16:55

上面的正则表达式匹配苹果和香蕉,但不匹配苹果香蕉。

–火药
20 Mar 31 '20在16:58

#2 楼

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

apple|banana


评论


如果您打算在正则表达式中添加更多内容,则需要在单词周围加上括号,例如:(apple | banana)。

– Brian J
14-10-14在13:01

但是如何使其不区分大小写?

– Nitish
20年1月23日在17:24

这是通过re.IGNORECASE标志设置的。例如:re.compile(“(apple | banana)”,re.IGNORECASE)

–托尔斯·恩达尔(Troels Ynddal)
20 Jan 31'9:42