Квадратные скобки

Квадратные скобки ([ ]) имеют особый смысл в контексте регулярных выражений — они означают «любой символ из перечисленных в скобках». В отличие от регулярного выражения php, которое совпадает во всех строках, содержащих литеральный текст php, выражение [php] совпадает в любой строке, содержащей символы р или h. Квадратные скобки играют важную роль при работе с регулярными выражениями, поскольку в процессе поиска часто возникает задача поиска символов из заданного интервала. Ниже перечислены некоторые часто используемые интервалы:

[0-9] — совпадает с любой десятичной цифрой от 0 до 9;

[a-z] — совпадает с любым символом нижнего регистра от а до z;

[A-Z] — совпадает с любым символом верхнего регистра от А до Z;

[a -Z] — совпадает с любым символом нижнего или верхнего регистра от а до Z.

Конечно, перечисленные выше интервалы всего лишь демонстрируют общий принцип. Например, вы можете воспользоваться интервалом [0-3] для обозначения любой десятичной цифры от 0 до 3 или интервалом [b-v] для обозначения любого символа нижнего регистра от b до v. Короче говоря, интервалы определяются совершенно произвольно.

Именованные интервалы

Именованные интервалы символов являются предопределенными интервалами, имеющими удобочитаемое английское название, заключенное в двоеточия и квадратные кавычки.

[:alpha:] — буква;

[:digit:] — цифра;

[:alnum:] — буква или цифра;

[:space:] — пробельный символ;

[:blank:] — пробельный символ или символы с кодом 0 и 255;

[:cnrtl:] — управляющий символ;

[:graph:] — символ псевдографики;

[:lower:] — символ нижнего регистра;

[:upper:] — символ верхнего регистра;

[:print:] — печатаемый символ;

[:punct:] — знак пунктуации;

[:xdigit:] — цифра или буква от A до Z.

При применении, именованые интервалы должны заключаться в дополнительные кавычки:

abc[[:alnum:]]+ // abc, затем одна или более буква или цифра.

abc[[:alpha:][:punct]0] // abc, далее буква, знак пунктуации или 0.

Выражение

abc[:alnum:]+

Будет неправильным.

Квантификаторы

Существует особый класс служебных символов, обозначающих количество повторений отдельного символа или конструкции, заключенной в квадратные скобки. Эти служебные символы (+, * и {...}) называются квантификаторами. Принцип их действия проще всего пояснить на примерах:

р+ означает один или несколько символов р, стоящих подряд;

р* означает ноль и более символов р, стоящих подряд;

р? означает ноль или один символ р;

р{2} означает два символа р, стоящих подряд;

р{2,3} означает от двух до трех символов р, стоящих подряд;

р{2,} означает два и более символов р, стоящих подряд.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: