Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
символы в SHELL.docx
Скачиваний:
3
Добавлен:
22.11.2018
Размер:
61.51 Кб
Скачать

Регулярные выражения 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/)