Belov Solutions

Совпадение с конкретным интервалом символов в регулярных выражениях

Введение

Для указания точного количества совпадений в регулярных выражениях используется запись в фигурных скобках {n}, где n — нужное число. Например, {3} обозначает три совпадения предыдущего символа или набора. Если совпадений меньше, общее совпадение не произойдёт.

Пример с цветами RGB

Рассмотрим значения цвета RGB, состоящие из шести шестнадцатеричных символов. Ранее использовался шаблон:

# [0-9A-Fa-f] [0-9A-Fa-f] [0-9A-Fa-f] [0-9A-Fa-f] [0-9A-Fa-f] [0-9A-Fa-f]

В статье про Классы символов POSIX он был упрощён с помощью POSIX-класса:

# [[:xdigit:]] [[:xdigit:]] [[:xdigit:]] [[:xdigit:]] [[:xdigit:]] [[:xdigit:]]

Оба подхода требуют повторения набора шесть раз. Исправим это с помощью интервалов:

Текст:
div {
	background-color: #fefbdB;
	background-color: #0000ff;
	background-color: #d0f4e6;
}
span {
	background-color: #f08970;
}

Регулярное выражение:
#[A-Fa-f0-9]{6}

Результат:
div {
	background-color: #fefbdB;
	background-color: #0000ff;
	background-color: #d0f4e6;
}
span {
	background-color: #f08970;
}

Анализ: Шаблон [A-Fa-f0-9]{6} совпадает с шестью шестнадцатеричными символами, упрощая запись.

Преимущества интервалов

Использование {n} делает код компактным и читаемым. Оно совместимо с POSIX-классами, такими как [:xdigit:], обеспечивая точное соответствие формату RGB.

Заключение

Фигурные скобки позволяют задавать точное количество совпадений, что особенно полезно для работы с форматированными данными, такими как цвета RGB.

Отзывы

Оставить отзыв

Ваша эл. почта не будет опубликована