- •Служебные символы используемые в shell скриптах
- •Подстановочные символы (файловые шаблоны) и регулярные выражения.
- •Файловые шаблоны в dos
- •Файловые шаблоны в ndos
- •Файловые шаблоны командного интерпретатора Shell
- •Регулярные выражения
- •Регулярные выражения интерпретатора awk
- •Регулярные выражения Perl (целиком совместимы с выражениями в .Htaccess)
- •Регулярные выражения php
- •Синтаксис регулярных выражений (posix)
- •Синтаксис регулярных выражений в стиле Perl
- •Регулярные выражения в JavaScript
Регулярные выражения Perl (целиком совместимы с выражениями в .Htaccess)
Символ |
Описание |
. |
Соответствует любому символу (за исключением символа новой строки) |
(...) |
Группирует последовательность элементов |
+ |
Удовлетворяет предыдущему образцу один или большее количество раз |
? |
Удовлетворяет образцу нуль или один раз |
* |
Соответствует образцу один или нуль раз |
[...] |
Соответствует символу из заданного множества |
[^...] |
Соответствует символу из множества, полученного отрицанием |
(...|...|...) |
Соответствует одной из альтернатив |
^ |
Соответствует началу строки |
$ |
Соответствует образцу в конце строки |
{n, m} |
Соответствует образцу от n до m раз |
{n} |
Соответствует образцу точно n раз |
{n,} |
Соответствует образцу минимум n раз |
\n\t etc. |
Соответствует знаку новой линии, символу табуляции и т. д. |
\b |
Соответствует на границе слова |
\В |
Соответствует НЕ границе слова |
\d |
Соответствует цифре |
\D |
Соответствует не цифре |
\s |
Соответствует пробелу |
\S |
Соответствует не пробелу |
\w |
Соответствует букве или цифре |
\W |
Соответствует символу, не являющемуся ни буквой, ни цифрой |
Perl помещает регулярные выражения (образцы, шаблоны) в слэши, т. е. в наклонные черточки, например, в виде /pattern/. Следующие регулярные выражения истинны если:
/ig/ |
Строка содержит 'ig' |
/(b|d|f)ig/ |
Строка содержит ‘big’, ‘dig’ or ‘fig’ |
/[0-9]+/ |
Строка содержит номер |
Регулярные используют выражения для того, чтобы упростить сравнение строк. Для того чтобы проверить, содержит ли строка заданный образец, скрипт может использовать регулярные выражения следующим образом:
if ($str =~ /pattern/)
В данном случае регулярные выражения принимают значение «истинно», если образец найден в строке ($str). Если строка по содержит образца, то выражение возвращает значение «ложно». Например, следующее выражение проверяет, содержит ли строка текст Web Programming:
if ($str =~ /Web Programming/)
Для того, чтобы проверить полное совпадение, выражение должно привязать сравнение к началу и концу строки. Например, следующее выражение имеет значением величину «истинно», если и только если переменная $str принимает одно из трех значений: «banana», «bananana») «banananana»:
($str =~ /^ba(na) {2,4}$/)
Аналогичным образом, следующее выражение истинно тогда и только тогда, когда переменная $str содержит слово «the» и не является частью другого слова, такого как «their».
($str =~ /\bthe\b/)