Регулярные выражения (regex) — это мощный инструмент в JavaScript для сопоставления шаблонов и манипуляций с ними. В этой статье мы рассмотрим различные методы обработки нуля или одного появления шаблона с использованием регулярного выражения. Мы предоставим примеры кода для каждого метода, которые позволят вам понять и реализовать эти методы в ваших собственных проектах JavaScript.
Методы для нулевого или одного вхождения:
- Используйте знак “?” Квантор:
Значок “?” Квантор соответствует предыдущему элементу ноль или один раз. Это краткий и простой способ выразить ноль или одно вхождение.
Пример:
const pattern = /colou?r/;
console.log(pattern.test("color")); // true
console.log(pattern.test("colour")); // true
console.log(pattern.test("colouur")); // false
- Используйте квантификатор «{0,1}».
Квантор «{0,1}» — это еще один способ указать ноль или одно вхождение шаблона. Это позволяет вам более точно указать количество вхождений.
Пример:
const pattern = /colou{0,1}r/;
console.log(pattern.test("color")); // true
console.log(pattern.test("colour")); // true
console.log(pattern.test("colouur")); // false
- Используйте оператор «|» (ИЛИ):
Оператор «|» Оператор позволяет определять альтернативные шаблоны. Объединив шаблон с нулевым вхождением с шаблоном с одним вхождением с помощью оператора OR, вы можете сопоставить любой случай.
Пример:
const pattern = /colou(r|ur)?/;
console.log(pattern.test("color")); // true
console.log(pattern.test("colour")); // true
console.log(pattern.test("colouur")); // false
- Используйте группировку «()».
Заключив шаблон вхождения (ноль или один) в круглые скобки, вы можете создать группу. Это позволяет применять квантификаторы или модификаторы ко всей группе.
Пример:
const pattern = /(colou)?r/;
console.log(pattern.test("color")); // true
console.log(pattern.test("colour")); // true
console.log(pattern.test("colouur")); // false
- Используйте метод RegExp.prototype.exec():
Метод exec() возвращает совпавший результат, если совпадение найдено; в противном случае возвращается ноль. Проверив наличие совпадения, вы можете определить, существует ли шаблон вхождения: ноль или один.
Пример:
const pattern = /colou?r/;
console.log(pattern.exec("color")); // ["color"]
console.log(pattern.exec("colour")); // ["colour"]
console.log(pattern.exec("colouur")); // null