Подтвердить что ты не робот

RegExp для сопоставления трех букв, но не текста "ПОКУПКА",

У меня есть две кнопки в форме, одна из кнопок содержит код валюты (EUR, USD, GBP, CHF,..), а другая - направление торговли (ПОКУПКА или ПРОДАВАТЬ). И некоторые утилиты распознают кнопки по тексту. Чтобы распознать кнопку с валютой, я использую регулярное выражение ": [A-Z] {3}", но это не работает должным образом, когда вторая кнопка содержит текст "ПОКУПАТЬ" (описание регулярных выражений возвращает более одного объекта).

Вопрос: как я могу написать шаблон для регулярного выражения, а это означает: совпадение, только если текст содержит три верхних буквы, но не текст "ПОКУПАТЬ"?

Спасибо!

4b9b3361

Ответ 1

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

(?!BUY) является отрицательным просмотром, который потерпит неудачу, если он соответствует регулярному выражению BUY

Ответ 2

Вы можете использовать отрицательное утверждение look-behind, чтобы убедиться, что только что согласованный текст не равен BUY.

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