RegEx匹配三个字母,但没有文字“买”

时间:2010-07-07 13:02:53

标签: regex

我在表单上有两个按钮,其中一个按钮包含货币代码(欧元,美元,英镑,瑞士法郎......)和另一个按钮 - 交易方向(买入或卖出)。并且一些实用程序通过它的文本识别按钮。 要识别带有货币的按钮,我使用正则表达式“:[A-Z] {3}”,但当第二个按钮包含文本“BUY”(正则表达式描述返回多个对象)时,它无法正常工作。

问题:如何为正则表达式编写模式,这意味着:仅当文本包含三个大写字母而不是文本“买”时才匹配?

谢谢!

2 个答案:

答案 0 :(得分:49)

^(?!BUY)[A-Z]{3}$

(?!BUY) negative lookahead如果与正则表达式匹配则会失败BUY

答案 1 :(得分:10)

您可以使用负面的后置断言来验证匹配的文本不等于 BUY

[A-Z]{3}(?<!BUY)
相关问题