10.1.3. Повторение

We use cookies. Read the Privacy and Cookie Policy

Имея знания синтаксиса регулярных выражений, полученные к настоящему моменту, мы можем описать число из двух цифр как /dd/ или из четырех цифр как /dddd/, но не сможем, например, описать число, состоящее из любого количества цифр, или строку из трех букв, за которыми следует необязательная цифра. Эти более сложные шаблоны используют синтаксис регулярных выражений, указывающий, сколько раз может повторяться данный элемент регулярного выражения.

Символы, обозначающие повторение, всегда следуют за шаблоном, к которому они применяются. Некоторые виды повторений используются довольно часто, и для обозначения этих случаев имеются специальные символы. Например, + соответствует одному или нескольким экземплярам предыдущего шаблона. В табл. 10.3 приведена сводка синтаксиса повторений.

Следующие строки демонстрируют несколько примеров:

/d{2,4}/    // Соответствует числу, содержащему от двух до четырех цифр

/w{3}d?/   // Соответствует в точности трем символам слова

             // и одной необязательной цифре

/s+javas+/ // Соответствует слову "java" с одним или более пробелами

             // до и после него

/[~(]*/      // Соответствует нулю или более символам, отличным от открывающей круглой

             // скобки

Будьте внимательны при использовании символов повторения * и ?. Они могут соответствовать отсутствию указанного перед ними шаблона и, следовательно, отсутствию символов. Например, регулярному выражению /а*/ соответствует строка «bbbb», поскольку в ней нет символа а!