РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ 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 и так далее. Перед равно черту ставить не нужно, потому что это не спецсимвол.

Подписаться
Уведомить о
guest
0 Комментарий
Старые
Новые
Межтекстовые Отзывы
Посмотреть все комментарии