Регулярные выражения в shell(bash), на примере использования sed.

0
SUCCESS: Your vote is considered!

Якоря и границы


Некоторые символы в RE sed вообще не означают никаких символов, и даже количества символов. Во первых это якоря - их 2 шт:


  1. ^ означает начало строки.
    $
    sed -rn '/^</p' test.html"

    Распечатает все строки которые начинаются на <.
  2. $ конец строки.
    например '/^$/' подходит только к пустой строке.


Кроме того иногда используются границы слов (\b). Например шаблон /err\b/ найдёт "err! ", "cerr <<", но не найдёт "error". Ещё реже используется отрицание, оно нужно если нам нужна только часть слова, к примеру /err\B/ найдёт error, errors, однако не сможет найти просто err.



Есть ещё левая и правая граница слова \<, \>, эти символы надо экранировать даже в ERE.


Пожалуйста войдите, что-бы оставить коментарий.
Нет акаунта? Регистрация