Чит-скрипт регулярных выражений

Чит-скрипт регулярных выражений 00 Основное изображение

Если вы работаете с текстом, вы оцените, насколько полезны регулярные выражения. Это небольшие символы текста, которые позволяют вам создавать сложные правила о том, как выглядит слово. Эти правила могут быть такими же простыми, как сопоставление одной буквы в документе, или чем-то сложным, например, поиск каждого слова, которое начинается на «a» и «c», но заканчивается на «ism».

Скачайте этот чит-скрипт

Введите свой адрес электронной почты ниже, чтобы получить этот PDF чит-скрипт на свой почтовый ящик.

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

Регулярные выражения (или regex для краткости) повсюду в средах Linux для поиска по тексту до самого символа. Этот чит-скрипт регулярных выражений будет полезен людям, которым время от времени просто нужна небольшая освежающая информация.

Однако важно отметить, что набор используемых регулярных выражений в значительной степени зависит от типа стандарта, который использует программное обеспечение. Например, обычные терминалы Linux часто используют стандарт POSIX, в то время как Vim и Perl используют нестандартные определения.

МетасимволОписаниеПример
Сопоставление символов
AНайти любое вхождение буквы «a» в документе и сопоставить его.a соответствует «муравей», «кот» и «Анна».
.Сопоставить любой отдельный символ, кроме управляющих символов.c.t соответствует «кот», «резать» или «кот».
*Повторить предыдущее выражение 0 или более раз (жадный режим).12*3 соответствует «13», «123», «1223», «12223». Это может быть использовано вместе с «.», например, m.*easier соответствует «maketecheasier». Использование .* само по себе бессмысленно, так как это соответствует всему и возвращает полный результат.
+Повторить предыдущее выражение 1 или более раз.12+3 соответствует «123», «1223», «12223».
?Делает предыдущий элемент необязательным.ma?ke соответствует «сделать», «мке».
^Совпадение с началом строки.^he соответствует «привет», «ад», «помощь», «он мальчик».
$Совпадение с концом строки.ed$ соответствует «сделано», «кровать», «жадность».
Сопоставление диапазонов
( … )Группировка символов или выражений.(ak) соответствует «сделать», «взять».
{ n }Сопоставить предыдущий элемент ровно n раз.12{3}5 соответствует «12225».
[ … ]Совпадает с одним символом в скобках.[abc] соответствует «a», «b» или «c» в строке «abc».
[^ … ]Совпадает с любым символом, кроме тех, которые определены в скобках.a[^b]c соответствует «aec», «acc», «adc», но не «abc».
Сопоставление классов (POSIX)
[:alpha:]Найти любой символ в английском алфавите и сопоставить его.[[:alpha:]]ut будет соответствовать словам «но», «резать» и «путь».
[:alnum:]Найти любой символ и цифру и сопоставить это.[[:alnum]]tack будет соответствовать «стек» и «5tack».
[:blank:]Найти вхождение либо табуляции, либо пробела и сопоставить его.[[:blank:]]Hello будет соответствовать « Hello».
[:space:]Найти любой символ пробела и сопоставить его.[[:space:]]World будет соответствовать « World».
[:upper:]Найти любую заглавную букву и сопоставить её.[[:upper:]]+ будет соответствовать словам «ПРИВЕТ», «Фантастично» и «мИР».
[:lower:]Найти любую строчную букву и сопоставить её.[[:lower:]]+ будет соответствовать словам «нАйти», «Фантастично» и «мир».
[:punct:]Найти любой знак препинания и сопоставить его.\w+[[:punct:]] будет соответствовать следующим словам: «Эй!», «Привет.» и «Ты?».
[:cntrl:]Найти любой управляющий символ и сопоставить его.\w+[[:cntrl:]]$ будет соответствовать следующим словам: «end^M», «word^M» и «this^M».
[.ng.]Найти любую диграф «ng» и сопоставить его.bad[.zh.] будет соответствовать слову «значок».
[=n=]Найти и сопоставить все диакритические буквы «n».[=a=]\w+ будет соответствовать словам «ànna», «ápple» и «âble».
Сопоставление классов (Perl/Vim)
\BНайти любой символ, который не является границей слова, и сопоставить его.\B+\b будет соответствовать «о » в «привет » и « h» в « привет».
\wНайти любую букву и цифру, затем сопоставить её.\w{5} будет соответствовать следующему сочетанию букв и цифр: «мир», «12345» и «w0r1d».
\WНайти любые символы и сопоставить их.\w{2}\W\b будет соответствовать следующим словам: «как.», «ха!» и «я?».
\dНайти любую цифру и сопоставить её.\d{3} будет соответствовать следующим числам: «111», «777» и «888».
\DНайти любой символ, который не является цифрой, и сопоставить его.\D{3} будет соответствовать следующим буквам и символам: «муравей», «ба!» и «!#*».

| \s | Найти любые пробельные символы и сопоставить их. | a\w+(i|y)sm\s будет соответствовать следующим словам: «альтруизм », «альбинизм » и «аневризм ». | | \S | Найти любые непробельные символы и сопоставить их. | \S{5} будет соответствовать следующим: «123hi», «hi!^&» и « | | \A | Найти начало слова независимо от его нахождения в начале строки. | \A{2} будет соответствовать «Он» и «во» в «Привет мир». | | \Z | Найти конец слова независимо от его нахождения в конце строки. | \z{2} будет соответствовать «ло» и «д» в «Привет мир». | | Управляющие символы | | | | | | Сопоставить либо выражение слева, либо справа от вертикальной черты. | col(o|ou)r соответствует «цвет», «цвет». | | – | Указать диапазон символов для сопоставления. Чаще всего используется в [a-z], [A-Z],[1-9],[a-zA-Z1-9]. | a[a-z]c соответствует «abc», «acc», «adc». | | \ | Экранировать специальный символ и превратить его в обычный символ. | a\*c соответствует «ac». | | \n, \r, \t | Сопоставить символ новой строки, возврат и символ табуляции соответственно. | \w{5}\t\w{5}(\n|\r) будет соответствовать «Привет Мир». | | \b…\b | Сопоставить слово в пределах границы. | \bTech\b соответствует слову «Tech» в «Сделать Tech Easier». | | *Сложные выражения | | | | [0-9]{3}-[0-9]{4} | Найти любую последовательность из трех и четырех цифр и сопоставить ее. | Это выражение будет соответствовать следующему сочетанию цифр: «123-1234», «111-1111» и «777-1234». | | ([0-9]{3}-)?[0-9]{3}-[0-9]{4} | Сопоставить два трехзначных числа и одно четырехзначное число. | Это выражение будет соответствовать следующим сочетаниям: «123-123-1234», «000-111-0001» и «777-5678». | | .{1,3} | Найти любое слово, длина которого от одного до трех символов. | Это выражение будет соответствовать следующим словам: «ат», «это» и «можно». | | ([A-Z])\w+ | Сопоставить любое слово, начинающееся с заглавной буквы. | Это выражение будет соответствовать следующим словам: «Привет», «Мир» и «Эй». | | e[([:digit:]|[:alnum:])]c | Сопоставить любой буквенно-цифровой символ между «e» и «c». | Это выражение будет соответствовать следующим сочетаниям: «e1c», «e5c» и «e7c». | | [^0-9[:upper:]]+ | Найти любое полностью заглавное слово, которое не начинается с цифры. | Это выражение будет соответствовать следующим словам: «ПРИВЕТ», «МИР» и «ЭЙ». | | “.+” | Найти слово в кавычках и сопоставить его. | Это выражение будет соответствовать следующей цитате: «Привет, мир!». |

Изображение предоставлено: Unsplash