Skip to content

Instantly share code, notes, and snippets.

@mewforest
Last active April 26, 2024 19:45
Show Gist options
  • Star 14 You must be signed in to star a gist
  • Fork 3 You must be signed in to fork a gist
  • Save mewforest/5e307ea347895350731cc3c02813b761 to your computer and use it in GitHub Desktop.
Save mewforest/5e307ea347895350731cc3c02813b761 to your computer and use it in GitHub Desktop.
Шпаргалка по регулярным выражениями

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

Символы

  • . - любой символ

  • a - символ буквы "a" (тоже и с другими буквами)

  • \n - символ переноса строки

  • \t - символ табуляции

  • \d - все числа, тоже что и [0-9]

  • \D - всё КРОМЕ чисел

  • \s - все пробельные символы

  • \S - всё кроме пробельных символов

  • \w - все словестные символы (кириллица, латиница, числа, "_" и т.д.)

  • \W - всё, кроме словестных символов

Служебные символы необходимо экранировать, например:

  • \. - символ точки (.)
  • \\ - символ бэкслеша (\)

и т.д.

Количество символов

  • * - 0 и более раз

  • + - 1 и более раз

  • ? - 0 или 1 раз

  • {5} - ровно 5 раз

  • {1,5} - от 1 до 5 раз

  • {1,} - от 1 раза

  • {,5} - до 5 раз

Например:

  • a+ - символ "a" 1 или более раз;
  • .* - любой символ 0 или более раз;
  • (Bob)? - группа символов "Bob" 0 или 1 раз;
  • аб{3} - "а" 1 раз и "б" 3 раза;

Группы

() - позволяют использовать группы элементов или просто объединять несколько символов

По умолчанию всё, что находится в круглых скобках попадает в группы (т.е. отображается в результате), чтобы этого избежать обычно используют не неиндексируемые группы: (?: ) Например, (?:https?|ftp)://([^/\r\n]+)(/[^\r\n]*)

  • | - знак логического ИЛИ
  • ^ - символ начала строки;\n
  • $ - символ конца строки;

Например:

  • (Bob|Alice) - "Bob" или "Alice";
  • ^a.*c$ - начинается с символа "а" (^a)? заканчвается на символ "с" (c$)

Наборы символов

  • [а-я] - кириллица в нижнем регистре без "ё"
  • [абвгд] - тоже что и [а-д]
  • [а-zA-Z] - вся латиница
  • [а-яА-яЁё] - вся кириллица
  • [^а-zA-Z] - всё кроме латиницы
  • [0-5] - все числа от 1 до 5

Полезные материалы

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment