【发布时间】:2019-06-12 23:15:13
【问题描述】:
我正在尝试提取字符串中某个模式的所有匹配项。该字符串是例如:tcl 中的“r[0] 或 c[0]”,但匹配的字符串不是我所期望的。
我尝试使用 regexp -all -inline 来匹配与字符串中的模式匹配的所有子字符串。
%set p "r\[0\] and c\[0\]"
%r[0] and c[0]
% regexp ".\[\\d+\]" $p
%1
% set x [regexp -all -inline ".\[\\d+\]" $p]
%{[0} {[0}
预期结果是 r[0] c[0] 但结果是 [0 [0
【问题讨论】:
-
使用大括号,而不是双引号,可以减少您需要的反斜杠数量。这对于正则表达式尤其重要。