Читаем Магия таблиц. 100+ приемов ускорения работы в Excel (и немного в Google Таблицах) полностью

Регулярные выражения поддерживаются разными языками программирования (например, JavaScript, Java, Perl, PHP) и разными инструментальными средствами (например, Word или Google Таблицы). К сожалению, в Excel нет встроенных функций для работы с «регулярками», но можно создать пользовательскую функцию на VBA. А вот в Google Таблицах такие функции есть «из коробки». Их три (названия у этих функций только на английском):

• REGEXMATCH для проверки текста на соответствие регулярному выражению (возвращает ИСТИНА / TRUE или ЛОЖЬ / FALSE);

• REGEXREPLACE для замены части текста, соответствующей регулярному выражению, на другой текст;

• REGEXEXTRACT для извлечения фрагмента текста, который соответствует регулярному выражению.

Кроме того, в Google Таблицах можно фильтровать данные с условием, заданным в виде регулярного выражения, с помощью функции QUERY.

ЯЗЫК РЕГУЛЯРНЫХ ВЫРАЖЕНИЙ

Давайте рассмотрим основные элементы, из которых собираются шаблоны — регулярные выражения.

Здесь в примерах мы будем обозначать полужирным регулярные выражения, а полужирным курсивом — совпадения с ними в тексте.

Просто текст без всяких знаков — это вполне себе регулярное выражение, хоть и очень простое.

Лемур

Это совпадение с конкретным словом «Лемур» в тексте — именно в таком регистре (регулярные выражения чувствительны к регистру).

Привет,Лемур!

_____________________

. (точка) — любой символ. Например, «Ро. линг» — две конкретные буквы, далее любой символ, далее еще четыре конкретных буквы. Такое регулярное выражение будет соответствовать и фамилии «Роулинг», и другим вариантам написания с ошибкой (например, «Ровлинг»), и вообще любому варианту написания, где на третьей позиции будет любой символ.

Ро. линг

В некоторых ячейках была опечатка в фамилии Роулинг — она была указана как Ровлинг, а то и как Роуллинг.

«Роуллинг» нашему регулярному выражению не соответствует — на месте точки может быть только один символ.

Если вам нужно явным образом указать непосредственно символ точки в регулярном выражении, используйте обратную косую черту: \.

_____________________

[символы] — символы в квадратных скобках — это набор из нескольких символов, которые могут быть на соответствующей позиции в текстовой строке.

Например:

Ле[мд]ур — это один из вариантов «Лемур» или «Ледур», но не что-то иное.

Если кот вытворял что-то эдакое, мы могли в шутку пожурить его: "Лемур-Ледур", но быстро прощали любимого Ле Мура.

Можно использовать дефис, чтобы обозначать диапазоны символов. Например, [0–6] и [0123456] идентичны.

[^символы] — если перед набором символов добавить «крышечку» (^), то это будет отрицанием, то есть любым символом, кроме перечисленных в квадратных скобках.

_____________________

\d — любая цифра. Идентично выражению [0–9].

Регистр здесь имеет значение. \D — это уже любой символ, кроме цифры.

_____________________

\w — любая латинская буква в любом регистре, любая цифра или нижнее подчеркивание.

\W — любой символ, кроме перечисленных (то есть «не \w», не латинская буква, не цифра и не подчеркивание).

_____________________

\s — любой пробельный символ (непечатаемые символы: пробел, перевод строки, табуляция и другие).

\S — соответственно, любой не пробельный символ.

_____________________

| (вертикальная черта) — один из вариантов, «или — или». Например:

USD|EUR

Функция REGEXMATCH в Google Таблицах возвращает ИСТИНА / TRUE, если в ячейке (ссылка на нее — первый аргумент функции) есть текст, соответствующий регулярному выражению (указанному во втором аргументе этой функции)

_____________________

? (знак вопроса) — ничего или один указанный символ.

Например:

Ле\s?Мур

Такому выражению будут соответствовать и варианты с одним переносом строки, и с одним пробелом «Ле Мур», и слитное написание «ЛеМур». Варианты с несколькими пробелами не подойдут.

Слитное написание «Лемур» не будет соответствовать такому выражению — из-за регистра. Чтобы учесть варианты и «ЛеМур», и «Лемур», можно указать обе буквы в квадратных скобках, напомним: это означает один символ из набора.

_____________________

+ (плюс) — одно или несколько повторений символа.

Например, \s + — один или более пробелов.

Ле\s + Мур — будет соответствовать вариантам «Ле Мур», «Ле     Мур» (много пробелов между словами), «Ле Мур» с переносом строки между словами, но не вариантам «ЛеМур» или «Лемур».

_____________________

Перейти на страницу:

Все книги серии МИФ. Бизнес

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных