Регулярное выражение НЕ в Google Sheets (RE2) - PullRequest
0 голосов
/ 23 февраля 2019

Я хочу проверить, есть ли в ячейке одно слово, но нет другого.В этом посте был какой-то шум вокруг этого вопроса, но выбранное решение включало функцию сценария.Должен быть более простой способ сделать это.

Я хочу проверить, присутствует ли в строке "investimentos" строка "investimentos", а "Fundos" нет.

I 'мы уже пробовали это ниже: (отказ от ответственности: я - новичок с регулярным выражением)

=regexmatch("investimentos";"(investimentos)^(fundos)")
=regexmatch("investimentos";"(investimentos).*^(fundos)")
=regexmatch("investimentos";"(investimentos)(^fundos)")
=regexmatch("investimentos";"(investimentos).*(^fundos)")

Я всегда получаю ложь.Может ли кто-нибудь пролить на него свет?

1 Ответ

0 голосов
/ 23 февраля 2019

В RE2 отсутствует поддержка поиска, поэтому вы не можете использовать общую логику для сопоставления одной строки, исключая другую .

Вы можете сделать это с помощью одного регулярного выражения, если отрицательное значение составляет всего 1 символ.Например, ^[^I]*GO[^I]*$ будет соответствовать строке, которая не имеет I, но содержит GO, но если в слове есть несколько символов, которые вы хотите исключить, это не сработает.

Используйте

=AND(REGEXMATCH(A1;"investimentos");NOT(REGEXMATCH(A1;"fundos")))
...