РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ LINUX

Всем привет!!!

Эта статейка моя шпаргалка по регулярным выражениям Linux.

  • \ – с обратной косой черты начинаются буквенные спецсимволы, а также он используется если нужно использовать спецсимвол в виде какого-либо знака препинания;
  • ^ – указывает на начало строки;
  • $ – указывает на конец строки;
  • * – указывает, что предыдущий символ может повторяться 0 или больше раз;
  • + – указывает, что предыдущий символ должен повторится больше один или больше раз;
  • ? – предыдущий символ может встречаться ноль или один раз;
  • {n} – указывает сколько раз (n) нужно повторить предыдущий символ;
  • {N,n} – предыдущий символ может повторяться от N до n раз;
  • . – любой символ кроме перевода строки;
  • [az] – любой символ, указанный в скобках;
  • х|у – символ x или символ y;
  • [^az] – любой символ, кроме тех, что указаны в скобках;
  • [a-z] – любой символ из указанного диапазона;
  • [^a-z] – любой символ, которого нет в диапазоне;
  • \b – обозначает границу слова с пробелом;
  • \B – обозначает что символ должен быть внутри слова, например, ux совпадет с uxb или tuxedo, но не совпадет с Linux;
  • \d – означает, что символ – цифра;
  • \D – нецифровой символ;
  • \n – символ перевода строки;
  • \s – один из символов пробела, пробел, табуляция и так далее;
  • \S – любой символ кроме пробела;
  • \t – символ табуляции;
  • \v – символ вертикальной табуляции;
  • \w – любой буквенный символ, включая подчеркивание;
  • \W – любой буквенный символ, кроме подчеркивания;
  • \uXXX – символ Unicdoe.

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

Например, вы хотите найти в тексте строку 1+ 2=3. Если вы используете эту строку в качестве регулярного выражения, то ничего не найдете, потому что система интерпретирует плюс как спецсимвол, который сообщает, что предыдущая единица должна повториться один или больше раз. Поэтому его нужно экранировать: 1 \+ 2 = 3. Без экранирования наше регулярное выражение соответствовало бы только строке 11=3 или 111=3 и так далее. Перед равно черту ставить не нужно, потому что это не спецсимвол.

Добавить комментарий

2 × 3 =