Regex AND оператор в Google Sheets - PullRequest
0 голосов
/ 23 февраля 2019

Вы можете использовать канал | для представления OR, и он отлично работает в Google Sheets.Но я хочу оператора AND и нигде не могу его найти. В ближайшем сообщении, которое я нашел речь шла о java-приложении, но оно не работает должным образом в Google Sheets

Я хочу проверить, есть ли в строке "эквиваленты родственных" строк "эквивалентность""и" родовые "присутствуют.

Я уже пробовал:

=regexmatch("equivalencia de estudo patrimonial";"(?:equivalencia)(?:patrimonial)")
=regexmatch("equivalencia de estudo patrimonial";"(?=equivalencia)(?=patrimonial)")
=regexmatch("equivalencia de estudo patrimonial";"/(equivalencia)(patrimonial)/")
=regexmatch("equivalencia de estudo patrimonial";"(equivalencia)(patrimonial)")

Никто не работал.Всегда ложь.

Может ли кто-нибудь помочь здесь?

1 Ответ

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

К сожалению, библиотека RE2, которая поддерживает Google Sheets, не поддерживает обходные пути.

Что вы можете сделать, это сопоставить комбинацию word1.*word2 или word2.*word1 с регулярным выражением типа

=REGEXMATCH("equivalencia de estudo patrimonial"; "equivalencia.*patrimonial|patrimonial.*equivalencia")

Здесь equivalencia.*patrimonial|patrimonial.*equivalencia соответствует equivalencia, некоторым 0+ символам, patrimonial или (|) patrimonial.*equivalencia соответствует patrimonial, затем любым 0+ символам и затем equivalencia.Это не так эффективно из-за части .* между двумя словами.

Другое решение состоит в том, чтобы использовать AND функцию и запустить REGEXMATCH дважды:

=AND(REGEXMATCH(A1;"equivalencia"); REGEXMATCH(A1; "patrimonial"))
...