Введение
Эта статья объясняет, как использовать метасимвол отрицания (^) в наборах символов для поиска любых символов, кроме указанных. Вы узнаете, как исключать определённые символы из поиска, чтобы сделать шаблоны более точными. Примеры подходят для всех платформ с поддержкой регулярных выражений.
Отрицание в наборах символов
Метасимвол ^ внутри набора символов ([]) указывает, что совпадение должно быть с любым символом, кроме перечисленных. Рассмотрим пример с файлами:
Текст:
sales1.xls
orders3.xls
sales2.xls
sales3.xls
apac1.xls
europe2.xls
sam.xls
na1.xls
na2.xls
sa1.xls
cal.xls Регулярное выражение:
[ns]a[^0-9]\.xls Результат:
sales1.xls
orders3.xls
sales2.xls
sales3.xls
apac1.xls
europe2.xls
sam.xls
na1.xls
na2.xls
sa1.xls
cal.xls Анализ: Шаблон [ns]a[^0-9]\.xls ищет файлы, начинающиеся с n или s, затем a, затем любой символ, кроме цифры, за которым следует .xls. Это соответствует sam.xls, но исключает na1.xls, na2.xls и sa1.xls.
Как работает отрицание
Метасимвол ^ отрицает весь набор символов или диапазон внутри []. Например, [^0-9] совпадает с любым символом, кроме цифр. Это противоположно [0-9], который ищет только цифры.
Примечание: Отрицание применяется ко всем символам в наборе, а не только к тем, что следуют за ^.
Заключение
Отрицание в наборах символов с помощью метасимвола ^ позволяет исключать нежелательные символы из поиска, делая шаблоны более точными. Это полезно, когда нужно искать всё, кроме определённого набора символов. Комбинируя наборы, диапазоны и отрицание, вы можете создавать мощные регулярные выражения для сложных задач.
Отзывы