Встроенные команды ТCL
rеgехр
Сравнивает строку и регулярное выражение.
Синтаксис
regexp?switches? exp stгing?matchVar??subMatchVaг subMatchVar...?
Описание
Команда определяет, соответствует ли регулярное выражение ехр какой-либо части строки string или всей строке, и возвращает 1, если соответствует, и 0 — в противном случае.
Если в команде указаны дополнительные аргументы после string, они считаются именами переменных, в которые возвращается информация о том, какие именно части строки соответствуют регулярным выражениям. Переменной присваивается значение, состоящее из части строки, соответствующей всему регулярному выражению. Самой левой в списке переменной subMatchVar присваивается значение, состоящее из части строки, которая соответствует самому левому заключенному в скобки выражению в составе ехр. Следующей переменной subMatchVar присваивается значение, соответствующее следующему заключенному в скобки выражению, и так далее.
Если первые аргументы команды начинаются с «-», они считаются опциями команды. Ниже перечислены возможные опции.
-nocase
При сравнении не различает буквы в верхнем и нижнем регистре.
-indices
В переменных subMatchVars сохраняются не части строки, а списки из двух десятичных чисел — индексов начала и конца соответствующей области строки.
--
Означает конец опций. Следующий аргумент будет рассматриваться как ехр, даже если он начинается с «-».
Если в команде указано больше переменных subMatchVar, чем выражений в скобках в ехр, или если для одного из выражений не удалось найти соответствующую ему часть строки, то соответствующей переменной будет присвоено значение «-1 -1» или пустая строка, в зависимости от того, была ли задана опция -indices.