TCL, регулярное выражение с ')', ']' или '}' - PullRequest
1 голос
/ 29 июля 2011

Я пытаюсь в TCL написать регулярное выражение для обнаружения 0 или более символов ')', ']' или '}' в конце строки.

Подобно следующему: a , b и c вместо ) , ] и } ...

% regexp {[a]*$} "_______a" m
1
% put $m  ; # Prints affected portion
a
% regexp {[a]*$} "_______aaaa" m
1
% put $m
aaaa
% regexp {[ab]*$} "_______ababababab" m
1
% put $m
ababababab
% regexp {[abc]*$} "_______abcbabcaccc" m
1
% put $m
abcbabcaccc
%

Я не мог найти, как убежать от персонажей.

Заранее спасибо.

Gmne


Добавлено ...

Предшествовать им с помощью \, например, \).

Спасибо MRAB . Это хорошо работает на Linux! Но, похоже, для Windows это не так ...

% ### Windows:
% regexp {[\)\]\}]+$} "_____)))"
0
% regexp {[\)]+$} "_____)))" m
1
% puts $m
)))
% regexp {[\)]+$} "_____)\\\\" m
1
% puts $m
)\\


% ### Linux
% regexp {[\)\]\}]+$} "_____)))" m
1
% puts $m
)))

Есть предложения?

1 Ответ

5 голосов
/ 29 июля 2011

За ними следует \, например, \).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...