Что такое регулярные выражения в Linux

Обновлено: 21.11.2024

В моей команде каждые две недели мы проводим «мастер-классы», на которых кто-то из членов команды представляет тему остальной команде.

Эта статья в основном представляет собой содержание класса по регулярным выражениям (также известным как регулярные выражения), который я недавно провел.

Это введение в основы регулярных выражений. Таких много, но это мое.

Википедия определяет регулярные выражения как:

«последовательность символов, определяющая шаблон поиска»

Они доступны практически во всех языках программирования, и вы, вероятно, чаще всего будете использовать их для сопоставления строк в условных операторах, которые слишком сложны для простых логических сравнений (например, "или", "и", "в").

Несколько примеров регулярных выражений для начала:

Осторожно используйте регулярные выражения. Сложность регулярных выражений требует затрат.

По возможности избегайте использования регулярных выражений

Некоторые люди, сталкиваясь с проблемой, думают: «Я знаю, я буду использовать регулярные выражения». Теперь у них две проблемы», — Джейми Завински

В программировании используйте регулярные выражения только в крайнем случае. Не решайте важные проблемы с помощью регулярных выражений.

    - регулярное выражение часто является самой интенсивной частью программы. А проверка несовпадающего регулярного выражения может быть даже дороже, чем проверка совпадающего. – Чрезвычайно легко сопоставить гораздо больше, чем предполагалось, что приводит к ошибкам. У нас несколько раз возникали проблемы со слишком жадными регулярными выражениями, что вызывало проблемы на наших сайтах. - Даже людям, хорошо знакомым с регулярными выражениями, потребуется некоторое время, чтобы разобрать новую строку регулярных выражений, и они все равно могут совершать ошибки. Это имеет огромные затраты на обслуживание проекта в долгосрочной перспективе. (Посмотрите на это удивительное регулярное выражение для адресов электронной почты RFC822)

Всегда старайтесь знать обо всех имеющихся в вашем распоряжении функциях языка для работы со строками и их проверки, которые могут помочь вам избежать использования регулярных выражений. В Python, например, ключевое слово in, мощное индексирование [] и строковые методы, такие как contains и startswith (которым можно передать любую строку кортежей для нескольких значений), можно очень эффективно комбинировать.

Самое главное, регулярные выражения не должны использоваться для анализа строк. Вместо этого вы должны использовать или написать собственный синтаксический анализатор. Например, вы не можете анализировать HTML с помощью регулярных выражений (в Python используйте BeautifulSoup, в JavaScript используйте DOM).

Когда использовать регулярное выражение

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

  • Когда он уже существует и вам нужно поддерживать его (хотя, если вы можете удалить его, вы должны это сделать)
  • Проверка строки, если нет другого варианта
  • Работа со строками (подстановка), когда нет другого выхода

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

Другое полезное использование регулярных выражений

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

    (или Ripgrep), Sed, Less и другие инструменты командной строки
  • В редакторах (например, VSCode) для быстрого переформатирования текста.

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

Например, я недавно использовал следующую подстановку регулярных выражений в VSCode для форматирования дампа текста в формат таблицы:

Учтите, что парсеры регулярных выражений бывают нескольких видов. По сути, каждый язык реализует свой собственный синтаксический анализатор. Однако синтаксический анализатор регулярных выражений Perl является золотым стандартом. Если у вас есть выбор, используйте Perl-совместимые регулярные выражения.

Как выглядит регулярное выражение

Традиционный способ написания регулярного выражения – окружить его косой чертой.

Вот как они написаны на Perl и JavaScript, а также во многих инструментах командной строки, таких как Less.

Однако многие современные языки (например, Python) решили не включать собственный тип регулярного выражения, поэтому регулярные выражения просто записываются в виде строк:

Обычные символы регулярных выражений

[ -~] Любой символ ASCII
(символы ASCII находятся между пробелом и «~»)< /td>
^[a-z0-9_-]$ Имена пользователей от 3 до 15 символов
< /таблица>

Сочетания символов в регулярных выражениях

Регулярное выражение в условных выражениях

Самый простой пример использования регулярных выражений в программировании – это сравнение строк. Это выглядит по-разному на разных языках, например:

Регулярное выражение в заменах

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

Модификаторы регулярных выражений

Вы можете изменить поведение регулярных выражений с помощью нескольких модификаторов. Я просто собираюсь проиллюстрировать здесь один модификатор, делающий регулярное выражение нечувствительным к регистру. В Perl, JavaScript и других более традиционных контекстах регулярных выражений модификаторы добавляются после последнего / . Вместо этого более современные языки часто используют пользовательские константы:

Упреждающий и ретроспективный просмотр в регулярных выражениях

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

Регулярные выражения Linux — это специальные символы, которые помогают искать данные и сопоставлять сложные шаблоны. Регулярные выражения сокращаются до «regexp» или «regex». Они используются во многих программах Linux, таких как grep, bash, rename, sed и т. д.

Типы регулярных выражений

Для простоты понимания давайте рассмотрим различные типы регулярных выражений один за другим.

Нажмите здесь, если видео недоступно

Основные регулярные выражения

Некоторыми из часто используемых команд с регулярными выражениями являются tr, sed, vi и grep. Ниже перечислены некоторые из основных регулярных выражений.

. Соответствует любому одиночному символу (обычно кроме новой строки)
\ Экранировать специальный символ (например, \. соответствует буквальной точке)
? Предыдущий символ может быть или не быть присутствует (например, /hell?o/ будет соответствовать hello или helo )
* Допускается любое количество предшествующих символов (например, .* будет соответствовать любой однострочной строке, включая пустую строку, и часто используется)
+ Один или несколько предшествующих символов ( .+ такой же, как .*, за исключением того, что он не будет соответствовать пустой строке)
| "or", соответствует предыдущему разделу или следующий раздел (например, hello|mad будет соответствовать «hello» или «mad»)
() сгруппировать раздел вместе. Это может быть полезно для условных выражений ( (a|b) ), множителей ( (hello)+ ) или для создания групп для замен (см. ниже)
<> Укажите, сколько предшествующих символов (например, a соответствует 12 символам a подряд)
[] Соответствует любому персонаж в этом наборе. - определяет диапазоны (например, [az] — любая строчная буква), ^ означает «не» (например, [^,]+ соответствует любому количеству незапятых в строке)
^ Начало строки
$ Конец строки
< td>Соответствует ровно одному символу
Символ Описания
. заменяет любой символ
^ соответствует началу строки
$ соответствует концу строки
* соответствует ноль или более раз предыдущему символу
\ Представляет специальные символы
() Группирует регулярные выражения
?

Давайте рассмотрим пример.

Выполнить образец cat, чтобы просмотреть содержимое существующего файла

Искать контент, содержащий букву «а».

‘^‘ соответствует началу строки. Давайте найдем контент, который НАЧИНАЕТСЯ с

Фильтруются только строки, начинающиеся с символа. Строки, не содержащие в начале символа «а», игнорируются.

Давайте рассмотрим другой пример –

Выберите только те строки, которые заканчиваются на t, используя $

Регулярные выражения интервалов

Эти выражения говорят нам о количестве вхождений символа в строку. Они

Выражение Описание
Соответствует предыдущему символу, появляющемуся 'n' раз точно
Соответствует предыдущему символу, появляющемуся 'n' раз, но не более m
Соответствует предыдущий символ только тогда, когда он появляется 'n' раз или более

Отфильтровать все строки, содержащие символ «p»

Мы хотим проверить, что символ «p» появляется в строке ровно 2 раза один за другим. Для этого синтаксис будет следующим:

Примечание. К этим регулярным выражениям необходимо добавить -E.

Расширенные регулярные выражения

Поиск всех символов ‘t’

Предположим, мы хотим отфильтровать строки, в которых символ «a» предшествует символу «t»

Мы можем использовать такую ​​команду

Расширение фигурной скобки

Синтаксис для раскрытия фигурных скобок представляет собой либо последовательность, либо список элементов, разделенных запятыми, внутри фигурных скобок «<>». Начальный и конечный элементы последовательности разделяются двумя точками «..».

В приведенных выше примерах команда echo создает строки, используя раскрытие фигурных скобок.

Обзор:

Выражение

Описание

Компания Acunetix, разработчик сверхточных сканеров безопасности веб-приложений, спонсировала проект Guru99, помогая точно и с максимальной скоростью сканировать более 4500 веб-уязвимостей.

В этой главе мы подробно обсудим регулярные выражения с SED в Unix.

Регулярное выражение – это строка, которую можно использовать для описания нескольких последовательностей символов. Регулярные выражения используются несколькими различными командами Unix, включая ed, sed, awk, grep и, в более ограниченной степени, vi.

Здесь SED означает потоковый редактор. Этот потоковый редактор был создан исключительно для выполнения скриптов. Таким образом, все вводимые вами данные проходят через STDOUT и не изменяют входной файл.

Вызов sed

Прежде чем мы начнем, убедитесь, что у нас есть локальная копия текстового файла /etc/passwd для работы с sed.

Как упоминалось ранее, sed можно вызвать, отправив ему данные по каналу следующим образом:

Команда cat выгружает содержимое /etc/passwd для sed через канал в пространство шаблонов sed. Пространство шаблонов — это внутренний рабочий буфер, который sed использует для своих операций.

Общий синтаксис sed

Ниже приведен общий синтаксис для sed —

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

Символ косой черты (/), окружающий шаблон, обязателен, поскольку он используется в качестве разделителя.

Печать строки

Удаляет строку

s/шаблон1/шаблон2/

Заменяет первое вхождение шаблона1 шаблоном2

Удаление всех строк с помощью sed

Теперь мы поймем, как удалить все строки с помощью sed. Снова вызвать sed; но sed теперь должен использовать строку удаления команды редактирования, обозначаемую одной буквой d -

Вместо вызова sed путем отправки ему файла по каналу, sed можно указать читать данные из файла, как в следующем примере.

Следующая команда делает то же самое, что и в предыдущем примере, но без команды cat —

Адреса sed

Sed также поддерживает адреса. Адреса — это либо определенные места в файле, либо диапазон, в котором должна применяться определенная команда редактирования. Когда sed не находит адресов, он выполняет свои операции с каждой строкой в ​​файле.

Следующая команда добавляет базовый адрес к используемой вами команде sed —

Обратите внимание, что цифра 1 добавляется перед командой редактирования удаления. Это указывает sed выполнить команду редактирования в первой строке файла. В этом примере sed удалит первую строку /etc/password и напечатает остальную часть файла.

Диапазоны адресов sed

Теперь мы поймем, как работать с диапазонами адресов sed. Так что, если вы хотите удалить более одной строки из файла? Вы можете указать диапазон адресов с помощью sed следующим образом —

Вышеупомянутая команда будет применена ко всем строкам, начиная с 1 по 5. Это удалит первые пять строк.

Попробуйте следующие диапазоны адресов –

Строки с 4-й по 10-ю удаляются

Удаляется только 10-я строка, так как sed не работает в обратном направлении

Это соответствует строке 4 в файле, удаляет эту строку, продолжает удалять следующие пять строк, а затем прекращает удаление и печатает остальные

Это удаляет все, кроме строк со 2-й по 5-ю

При этом удаляется первая строка, выполняются следующие три строки, а затем удаляется четвертая строка. Sed продолжает применять этот шаблон до конца файла.

Это говорит sed удалить вторую строку, перейти через следующую строку, удалить следующую строку и повторять до тех пор, пока не будет достигнут конец файла

Выводятся строки с 4-й по 10-ю

Это приводит к синтаксической ошибке

Это также вызовет синтаксическую ошибку

Примечание. При использовании действия p следует использовать параметр -n, чтобы избежать повторения печати строки. Проверьте разницу между следующими двумя командами —

Команда замены

Команда подстановки, обозначаемая буквой s, заменит любую указанную вами строку любой другой указанной вами строкой.

Чтобы заменить одну строку другой, sed должен иметь информацию о том, где заканчивается первая строка и начинается строка подстановки. Для этого мы завершаем две строки символом косой черты (/).

Следующая команда заменяет первое вхождение в корневой строке строки строкой amrood.

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

Чтобы sed выполнил глобальную замену, добавьте букву g в конец команды следующим образом:

Флаги замены

Существует ряд других полезных флагов, которые можно передавать в дополнение к флагу g, и вы можете указать более одного за раз.

Заменяет все совпадения, а не только первое совпадение

Заменяет только совпадение NUMBER

Если была произведена подстановка, печатает пространство шаблона

Если подстановка была произведена, то записывает результат в FILENAME

Совпадает без учета регистра

В дополнение к обычному поведению специальных символов регулярных выражений ^ и $, этот флаг заставляет ^ сопоставлять пустую строку после новой строки, а $ — с пустой строкой перед новой строкой

Использование альтернативного разделителя строк

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

В приведенном выше примере мы использовали : в качестве разделителя вместо косой черты /, потому что мы пытались искать /root вместо простого корня.

Замена пустым пространством

Используйте пустую строку подстановки, чтобы полностью удалить корневую строку из файла /etc/passwd —

Подмена адреса

Если вы хотите заменить строку sh на строку quiet только в строке 10, вы можете указать ее следующим образом:

Аналогично, чтобы выполнить подстановку диапазона адресов, вы можете сделать что-то вроде следующего:

Как видно из вывода, в первых пяти строках строка sh была заменена на quiet, а остальные строки остались нетронутыми.

Команда сопоставления

Вы должны использовать параметр p вместе с параметром -n, чтобы напечатать все совпадающие строки следующим образом:

Использование регулярных выражений

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

Проверьте следующий пример, который сопоставляет все строки, начинающиеся с daemon, а затем удаляет их –

Ниже приведен пример, в котором удаляются все строки, оканчивающиеся на sh -

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

Соответствует началу строк

Соответствует концу строк

Соответствует любому одиночному символу

Соответствует нулю или более вхождениям предыдущего символа

Соответствует любому из символов, заданных в chars, где chars — это последовательность символов. Вы можете использовать символ - для обозначения диапазона символов.

Соответствие символов

Посмотрите еще на несколько выражений, демонстрирующих использование метасимволов. Например, следующий шаблон —

Соответствует строкам, содержащим такие строки, как a+c, a-c, abc, match и a3c

Соответствует одинаковым строкам, а также таким строкам, как ace, yacc и arctic

Соответствует строке The и

Соответствует пустым строкам

Соответствует целой строке, какой бы она ни была

Соответствует одному или нескольким пробелам

Соответствует пустым строкам

В следующей таблице показаны некоторые часто используемые наборы символов —

Соответствует одной строчной букве

Соответствует одной заглавной букве

Соответствует одной букве

Соответствует одному числу

Соответствует одной букве или цифре

Ключевые слова класса символов

Некоторые специальные ключевые слова обычно доступны для регулярных выражений, особенно в утилитах GNU, использующих регулярные выражения. Они очень полезны для регулярных выражений sed, поскольку они упрощают работу и улучшают читаемость.

Например, символы от a до z и символы от A до Z составляют один такой класс символов, который имеет ключевое слово [[:alpha:]]

Используя ключевое слово класса символов алфавита, эта команда печатает только те строки в файле /etc/syslog.conf, которые начинаются с буквы алфавита –

В следующей таблице представлен полный список доступных ключевых слов классов символов в GNU sed.

Буквенно-цифровой [a-z A-Z 0-9]

В алфавитном порядке [a-z A-Z]

Пробелы (пробелы или табуляции)

Любые видимые символы (кроме пробелов)

Строчные буквы [a–z]

Печатные символы (неуправляющие символы)

Заглавные буквы [A-Z]

Шестнадцатеричные цифры [0–9 a–f A–F]

Ссылка на амперсанд

Метасимвол sed & представляет содержимое совпавшего шаблона. Например, предположим, что у вас есть файл с именем phone.txt, полный телефонных номеров, например следующий —

Вы хотите, чтобы код города (первые три цифры) был заключен в круглые скобки для удобства чтения. Для этого вы можете использовать символ замены амперсанда —

Здесь в части шаблона вы сопоставляете первые 3 цифры, а затем используете & и заменяете эти 3 цифры окружающими круглыми скобками.

Использование нескольких команд sed

Вы можете использовать несколько команд sed в одной команде sed следующим образом:

Здесь команда от command1 до commandN — это команды sed того типа, который обсуждался ранее. Эти команды применяются к каждой из строк в списке файлов, заданных файлами.

Используя тот же механизм, мы можем написать приведенный выше пример номера телефона следующим образом:

Примечание. В приведенном выше примере вместо трехкратного повторения ключевого слова класса символов [[:digit:]] мы заменили его на \ , что означает, что предыдущее регулярное выражение соответствует трем раза. Мы также использовали \ для разрыва строки, и его необходимо удалить перед запуском команды.

Предыдущие ссылки

Метасимвол амперсанда полезен, но еще более полезна возможность определять определенные области в регулярных выражениях. Эти специальные регионы можно использовать в качестве ссылки в замещающих строках. Определив определенные части регулярного выражения, вы можете ссылаться на эти части с помощью специального символа ссылки.

Чтобы сделать обратные ссылки, вы должны сначала определить регион, а затем вернуться к этому региону. Чтобы определить область, вы вставляете круглые скобки с обратной косой чертой вокруг каждой интересующей области. На первую область, окруженную обратной косой чертой, ссылается \1, на вторую — \2 и т. д.

Предположим, что phone.txt содержит следующий текст —

Попробуйте следующую команду —

Примечание. В приведенном выше примере каждое регулярное выражение внутри круглых скобок будет иметь обратную ссылку \1, \2 и так далее. Здесь мы использовали \ для разрыва строки. Это должно быть удалено перед запуском команды.

Регулярное выражение Linux. По сути, это последовательность символов или строка, определяющая шаблон поиска. Эти шаблоны поиска используются алгоритмами поиска строк, такими как vim, vi, sed, awk, find, grep и т. д. Это очень мощный инструмент в Linux. Мы можем использовать одно и то же регулярное выражение для идентификации или поиска сложных значений на уровне строк и столбцов. Регулярное выражение Linux также называется regexp или regex.

Синтаксис команды регулярного выражения:

Веб-разработка, языки программирования, тестирование программного обеспечения и другое

  • команда поиска/чтения: мы можем использовать любую команду поиска или чтения в Linux, такую ​​как vim, vi, sed, awk, find, grep и т. д.
  • шаблон: нам нужно предоставить шаблон регулярного выражения в синтаксисе.
  • имя файла: Входной файл.

Как работает команда регулярных выражений Linux?

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

В экосистеме Linux доступно множество различных типов регулярных выражений.

Выражение Описание
\+ Соответствует одному или больше вхождений предыдущего символа
\? Соответствует нулю или одному вхождению предыдущего символа

Примеры регулярных выражений Linux

Ниже приведены упомянутые примеры:

Регулярное выражение с символом «^».

В регулярном выражении Linux мы можем искать начало строки, связанное с символом «^». Для поиска строки нам нужно использовать любой текстовый/строковый редактор или алгоритм поиска.

Код:

cat файл.txt | группа ^t

Пояснение:

У нас есть образец каталога, в том же каталоге есть файл с именем «file.txt». В нем есть записи. Мы используем файл .txt в качестве входных данных для регулярного выражения Linux. Нам нужно идентифицировать записи, начинающиеся с символа «t».

Вывод:

Регулярное выражение с символом «$».

В регулярном выражении Linux мы можем искать окончание символа или строки, связанные с символом «$». Для поиска строки нам нужно использовать любой текстовый/строковый редактор или алгоритм поиска.

Обучение Kali Linux (3 курса, 3+ проекта) 3 онлайн-курса | 3 практических проекта | 21+ часов | Поддающийся проверке сертификат об окончании | Пожизненный доступ
4,5 (7 946 оценок)

Код:

cat файл.txt | grep $

Пояснение:

В том же каталоге есть файл с именем «file.txt». В нем мало записей. Мы используем файл .txt в качестве входных данных для регулярного выражения Linux «$». Нам нужно идентифицировать записи, оканчивающиеся на символ «e».

Вывод:

Регулярное выражение Linux — интервал.

В Linux существуют различные типы регулярных выражений. Интервал — один из них. С помощью интервального выражения мы можем найти выражение, которое соответствует количеству вхождений в строке.

Нам нужно использовать параметр «-E» со значением интервала между символами и строками.

Код:

cat файл.txt | grep -E e\

Пояснение:

В экосистеме Linux мы можем искать различные комбинации символов. В соответствии с приведенной выше командой мы можем найти ту же последовательность количества символов времени, что и заданное значение, назначенное в команде. Мы идентифицируем последовательность символов «e», встречающихся в строке два раза.

Вывод:

Регулярное выражение с символом «\+».

В регулярном выражении мы хотим отфильтровать совпадения одного или нескольких вхождений предыдущего символа из входного файла.

Код:

cat файл.txt | grep "н\+е"

Пояснение:

Мы используем входной файл как «file.txt». Нам нужно искать строку от начального символа как «n» и адъютантного символа как «e». В соответствии с приведенной выше командой мы ищем определенную комбинацию характеристик из входного файла.

Вывод:

Регулярное выражение с разделителями слов.

В регулярном выражении Linux мы можем найти точное соответствие строки во входном файле. Нам нужно использовать параметр «\b \b» с любым текстовым/строковым редактором или алгоритмом поиска.

Код:

grep '\bfive\b' файл.txt

Пояснение:

В регулярных выражениях Linux мы можем найти определенную строку или символ из входного файла/данных. В соответствии с приведенной выше командой мы указываем регулярное выражение, чтобы найти точную строку. Мы используем опцию «\b\b», в которой нам нужно сохранить строку поиска.

Вывод:

Регулярное выражение с символом «*».

В регулярных выражениях Linux мы можем найти или выполнить поиск нулевого совпадения или более раз в предыдущем символе. Нам нужно использовать опцию «*» с любым текстовым/строковым редактором или алгоритмом поиска.

Код:

grep "[AB]p*" файл.txt

Пояснение:

В соответствии с приведенной выше командой мы идентифицируем только символы верхнего регистра «A» и «B» и все символы или строки из строчной буквы «p». Соответственно, по данному входу мы можем получить соответствующую строку из входного файла.

Вывод:

Выражение с «\?» символ.

В регулярном выражении мы хотим отфильтровать совпадения нуля или более вхождений предыдущего символа из входного файла.

Код:

cat файл.txt | grep "н\?е"

Пояснение:

Мы используем входной файл как «file.txt». Нам нужно искать строку от начального символа как «n» и адъютантного символа как «e». В соответствии с приведенной выше командой мы ищем определенную комбинацию характеристик во входном файле, и она будет искать все символы, попадающие во входной файл.

Вывод:

Заключение

Мы рассмотрели неразрезанную концепцию «Команды регулярных выражений Linux» с надлежащим примером, объяснением и командой с различными выводами. Регулярное выражение — это очень мощный командный инструмент для обработки данных любого типа. Он широко используется в заданиях оболочки/bash, инструментах поиска и т. д.

Рекомендуемые статьи

Это руководство по регулярным выражениям Linux. Здесь мы обсуждаем введение в регулярные выражения Linux, а также работу команды и примеры для лучшего понимания. Вы также можете ознакомиться со следующими статьями, чтобы узнать больше –

Читайте также:

Старший. Нет Символ регулярного выражения Описание
1 . Он заменит любой символ.
2 /b Он будет соответствовать пустой символ или строка на краю.
3 /B Он будет соответствовать пустому символу или строке не на краю.
4 ^ Он будет соответствовать строке строки.
5 \ Это будет соответствовать пустой строке в конце слова.
8 \ Он будет представлять специальные символы.
9 () Сгруппирует регулярные выражения.
10 ? Он будет соответствовать тому же или ровно одному символу.