Пост телеграм-канала PPC для сверхразумов | Александр Хитро
PPC для сверхразумов | Александр Хитро
03 нояб. 2023 года в 15:16
по стопам поста саши корбут, где она писала в конце про проверку массива на ошибочное написание букв из другого алфавита.
проверку на замену раскладки клавиатуры или наличия в массиве диакритических символов легко сделать в semtools, извлеча из всего массива некириллические и нецифровые символы:
=REGEXEXTRACT(A1;"[^а-яё0-9]") — извлекутся все символы, которые не являются кириллицей и цифрами (латиница извлечётся в том числе)
и проверка на наличие диакритических символов:
=REGEXEXTRACT(A1;"[^а-яёa-z0-9]") — извлекутся все символы, которые не являются кириллицей, латиницей и цифрами
если не хотим учитывать:
а) операторы типов соответствия ключевиков
б) спецсимволы в урлах,
добавляем в квадратные скобки в конструкцию группировки исключения символов помимо кириллицы, латиницы и цифр всех остальных символов, которые не хотите учитывать при извлечении из массива:
кавычки, плюс, двоеточие, квадратные скобки, правая наклонная черта, нижнее подчёркивание, дефис, точки, запятые, восклицательные знаки, вопросы, равно, вертикальная черта:
"\+:\[\]-_\.\/,!\?=|
обратная наклонная черта здесь выступает как экранирование (т.е. учитывание как текст):
— плюса (квантификатор повторения предыдущего элемента 1 и более раз)
— квадратных скобок (оператор группировки в синтаксисе RegEx)
— точек (оператор любого одного символа в синтаксисе RegEx)
— правой наклонной черты
— знака вопроса (квантификатор необязательного наличия предыдущего элемента в синтаксисе RegEx)
и чтобы их извлекать как текст, их нужно экранировать обратным слешем.
получаем:
=REGEXEXTRACT(A1;"[^а-яёa-z0-9"\+:\[\]\/-_\.,!\?=|]")
читается эта формула с регуляркой так:
[^ ] — конструкция группировки, которая означает извлечение любых символов кроме тех, которые указаны в квадратных скобках после знака степени. знак степени внутри квадратных скобок означает как отрицание условия поиска, т.е. "всё кроме".
=REGEXEXTRACT(A1;"[^ ]") — формула для Экселя, которая извлекает регулярку с конструкцией группировки символов, которые нужно проигнорировать при извлечении.
и сама извлекаемая регулярка:
[^а-яёa-z0-9"\+:\[\]\/-_\.,!\?=|]
или необязательно использовать semtools. в него просто по дефолту вшито извлечение регулярок, а в эксель — нет. но можно извлечение регулярок подключить в экселе и бесплатно:
https://www.planetaexcel.ru/techniques/7/4844/
аналогичное бесплатное извлечение регулярок в power query:
https://www.planetaexcel.ru/techniques/7/13310/
и не нужно страдать и искать что-либо "глазами".
к изучению:
————
Топ постов @ppc_bigbrain: