Метасимволы [] (квадратные скобки)
6.16.6. Метасимволы [] (квадратные скобки)
Метасимволы "[]" позволяют определить подмножество символов, которые необходимо распознавать при выполнении операции поиска или подстановки. Запись группы символов, заключенных в квадратные скобки, означает: "любой одиночный символ из указанных". Например, если "[0123456789]", это будет означать: "любая цифра". Можно записать и короче: "[0-9]". Запись двух символов, разделенных знаком минус, означает задание интервала в
лексикографической последовательности символов. Так, запись "[А-Я]" означает: "прописная русская буква", а запись: "[a-z] [a-z0-9]*" означает последовательность латинских букв и цифр, начинающуюся с буквы.
Указание в начале класса символа "^" означает "ни один из следующих символов". Например: ^[0-9] обозначает "любой символ, за исключением цифры".
Примеры. 1, $s/^[0-9]*// удаление всех цифр в начале каждой строки; /^[^(пробел)(табуляция)]/ поиск первой строки, не начинающейся символом пробела или табуляции.
Внутри класса символов могут присутствовать любые символы и, чтобы избежать путаницы, в квадратных скобках символы принципиально не имеют специального значения. Например, чтобы найти специальные символы, можно использовать команду: /[.[]/ Внутри "[...]" символ "[" не является специальным. Чтобы включить символ "]" в класс символов, нужно указать его первым.