Книга: Выразительный JavaScript
Повторяем части шаблона
Повторяем части шаблона
Мы знаем, как найти одну цифру. А если нам надо найти число целиком – последовательность из одной или более цифр?
Если поставить после чего-либо в регулярке знак +
, это будет означать, что этот элемент может быть повторён более одного раза. /d+/
означает одну или несколько цифр.
console.log(/'d+'/.test("'123'"));
// ? true
console.log(/'d+'/.test("''"));
// ? false
console.log(/'d*'/.test("'123'"));
// ? true
console.log(/'d*'/.test("''"));
// ? true
У звёздочки *
значение почти такое же, но она разрешает шаблону присутствовать ноль раз. Если после чего-то стоит звёздочка, то оно никогда не препятствует нахождению шаблона в строке – оно просто находится там ноль раз.
Знак вопроса делает часть шаблона необязательной, то есть она может встретиться ноль или один раз. В следующем примере символ u
может встречаться, но шаблон совпадает и тогда, когда его нет.
var neighbor = /neighbou?r/;
console.log(neighbor.test("neighbour"));
// ? true
console.log(neighbor.test("neighbor"));
// ? true
Чтобы задать точное количество раз, которое шаблон должен встретиться, используются фигурные скобки. {4}
после элемента означает, что он должен встретиться в строке 4 раза. Также можно задать промежуток: {2,4}
означает, что элемент должен встретиться не менее 2 и не более 4 раз.
Ещё одна версия формата даты и времени, где разрешены дни, месяцы и часы из одной или двух цифр. И ещё она чуть более читаема.
var dateTime = /d{1,2}-d{1,2}-d{4} d{1,2}:d{2}/;
console.log(dateTime.test("30-1-2003 8:45"));
// ? true
Можно использовать промежутки с открытым концом, опуская одно из чисел. {,5}
означает, что шаблон может встретиться от нуля до пяти раз, а {5,}
– от пяти и более.
- Создаём регулярное выражение
- Проверяем на совпадения
- Ищем набор символов
- Повторяем части шаблона
- Группировка подвыражений
- Совпадения и группы
- Тип даты
- Границы слова и строки
- Шаблоны с выбором
- Механизм поиска
- Откаты
- Метод replace
- Жадность
- Динамическое создание объектов RegExp
- Метод search
- Свойство lastIndex
- Циклы по вхождениям
- Разбор INI файлы
- Международные символы
- Итог
- Упражнения
- Сохранение и использование шаблона узла
- Создание рабочей области для собраний с использованием шаблона
- Добавление веб-части на страницу
- Пример использования шаблона «Выводы – рекомендации»
- 13.4.2. Зачастили
- Публикация информации, потенциально способной нанести вред всему обществу или его части
- Пользуйтесь шаблонами
- Участие в форумах и дискуссиях
- Участие в программе компенсаций
- Участие Fetchmail в процессе доставки почты
- Блокировка локальных и удаленных сценариев WSH. Пример административного шаблона
- Ответы на контрольные вопросы к главам части II