TCL,正则表达式带')',']'或'}'

时间:2011-07-29 16:38:19

标签: regex tcl

我正在尝试在TCL中编写一个正则表达式来检测字符串末尾的0个或多个字符')',']'或'}'。

如下所示,使用 a b c 而不是] < / b>和} ...

% 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 个答案:

答案 0 :(得分:5)

使用\取代它们,例如\)