Использование квадратных скобок в регулярных выражениях
Чтобы выполнить поиск одного символа из последовательности, используйте [квадратные скобки]:
Использование квадратных скобок также позволяет вам выполнить поиск диапазона символов, используя символ - :
Так же, как и одиночные символы, можно использовать несколько диапазонов вместе в одних и тех же квадратных скобках:
Поиск в последнем примере обычно называют алфавитно-цифровым поиском.
Если вы хотите найти сам символ - в квадратных скобках, то он должен быть первым в квадратных скобках.
Символ ^ (символ каретки, расположенный на клавиатуре над клавишей 6) означает отрицание. При использовании в квадратных скобках символ ^ означает поиск совпадения с любыми элементами, кроме тех, которые указаны в квадратных скобках.
Символ ^ должен быть первым в скобках.
Будьте внимательны, когда используете пробелы внутри квадратных скобок. Пробелы также являются символами. [0-9] без пробелов не равно [0 - 9], которое включает пробелы после 0 и перед 9.
Регулярное выражение может включать одиночные символы, за которыми сразу следуют квадратные скобки.
Клавиши быстрого доступа для регулярных выражений с квадратными скобками
Синтаксис регулярных выражений POSIX также имеет некоторые встроенные клавиши быстрого доступа для указания некоторых часто используемых классов регулярных выражений.
-
[:digit:] находит цифры от 0 до 9
-
[:alnum:] находит любые алфавитно-цифровые символы от 0 до 9 ИЛИ от A до Z или от a z.
-
[:alpha:] находит любые алфавитные символы от A до Z или от a z.
-
[:blank:] находит символы пробелов и табуляции.
-
[:xdigit:] находит шестнадцатеричное представление чисел, например 0123424AB.
-
[:punct:] находит пунктуационные значки, например . , " ' ? ! ; : # $ % & ( ) * + - / < > = @ [ ] \ ^ _ { } | ~
-
[:print:] находит любые отображаемые знаки.
-
[:space:] находит любые символы пробелов (пробел, табуляция, новая строка, прогон страницы, вертикальная табуляции, возврат каретки).
-
[:graph:] находит любые графические символы кроме пробелов (SPACE, TAB).
-
[:upper:] находит любые алфавитные символы от A до Z в верхнем регистре.
-
[:lower:] находит any любые алфавитные символы от a to z в верхнем регистре.
-
[:cntrl:] находит символы управления, например новая строка, возврат каретки, табуляция и так далее.
Обратите внимание, что можно вставлять клавиши быстрого доступа в другие квадратные скобки: