
{n,m} Соответствует предшествующему шаблону, повторенному не менее n, но не более m раз
{n,} Соответствует предшествующему шаблону, повторенному n или более раз
{n} Соответствует в точности n экземплярам предшествующего шаблона
? Соответствует нулю или одному экземпляру предшествующего шаблона; предшествующий шаблон является необязательным. Эквивалентно {0,1}
+ Соответствует одному или более экземпляру предшествующего шаблона. Эквивалентно {1,}
* Соответствует нулю или более экземплярам предшествующего шаблона.a Эквивалентно {0,}

a Как и для символа ?, предшествующий символу * шаблон может отсутствовать, этот случай толкуется как: «предшествующий символ шаблона – любой из симво_ лов». Именно это делает символы повторения ? и * одними из наиболее используе_ мых.
В следующих строках показано несколько примеров:
/\d{2,4}/
| // Соответствует
| числу, содержащему от двух до четырех цифр
|
/\w{3}\d?/
| // Соответствует
| в точности трем текстовым символам
|
| // и необязательной цифре
|
/\s+java\s+/
| // Соответствует
| слову "java" с одним или несколькими
|
| // пробелами до и после него
|
/[^"]*/
| // Соответствует
| нулю или более символам, отличным от кавычек
|
Будьте осторожны при использовании символов повторения * и ?. Они могут со_ ответствовать отсутствию указанного перед ними шаблона и, следовательно, от_ сутствию символов. Например, регулярному выражению /a*/ соответствует строка "bbbb", поскольку в ней нет символа a!
11.1. Определение регулярных выражений
|
|
|
|