Введение
Эта статья объясняет, как использовать наборы символов в регулярных выражениях для поиска совпадений с конкретными символами, указанными в квадратных скобках ([]). Вы узнаете, как ограничить поиск определёнными символами, исключая нежелательные совпадения. Примеры подходят для всех платформ с поддержкой регулярных выражений.
Наборы символов
В отличие от точки (.), которая совпадает с любым символом, наборы символов, заключённые в квадратные скобки ([]), позволяют искать только указанные символы. Рассмотрим пример с файлами:
Текст:
sales1.xls
orders3.xls
sales2.xls
sales3.xls
apac1.xls
europe2.xls
na1.xls
na2.xls
sa1.xls
cal.xls Регулярное выражение:
.a.\.xls Результат:
sales1.xls
orders3.xls
sales2.xls
sales3.xls
apac1.xls
europe2.xls
na1.xls
na2.xls
sa1.xls
cal.xls Анализ: Шаблон .a.\.xls находит файлы, где второй символ — a, а за ним следует любой символ и точка с расширением xls. Однако он включает нежелательный файл cal.xls.
Ограничение набора символов
Чтобы искать только файлы, начинающиеся с n или s, используйте набор [ns]:
Текст:
sales1.xls
orders3.xls
sales2.xls
sales3.xls
apac1.xls
europe2.xls
na1.xls
na2.xls
sa1.xls
cal.xls Регулярное выражение:
[ns]a.\.xls Результат:
sales1.xls
orders3.xls
sales2.xls
sales3.xls
apac1.xls
europe2.xls
na1.xls
na2.xls
sa1.xls
cal.xls Анализ: Шаблон [ns]a.\.xls ограничивает первый символ буквами n или s, исключая cal.xls. Остальная часть шаблона: a — буква a, . — любой символ, \.xls — точка и расширение xls.
Наборы символов и регистр
Наборы символов можно использовать для поиска без учёта регистра. Пример:
Текст:
Фраза "регулярное выражение" часто сокращается как РегЭкс или регэкс. Регулярное выражение:
[Рр]ег[Ээ]кс Результат:
Фраза "регулярное выражение" часто сокращается как РегЭкс или регэкс. Анализ: Наборы [Рр] и [Ээ] соответствуют Р или р и Э или э, находя РегЭкс и регэкс, но не РЕГЭКС.
Примечание: Для полного игнорирования регистра используйте флаг i (например, в JavaScript: /регэкс/i).
Заключение
Наборы символов в регулярных выражениях, обозначенные квадратными скобками, позволяют точно указывать, какие символы должны совпадать, избегая нежелательных совпадений. Это делает поиск более контролируемым по сравнению с точкой. Следующая статья рассмотрит использование диапазонов в наборах символов.
Отзывы