正则表达式在tcl中提取模式的所有匹配项的问题

时间:2019-06-12 14:47:19

标签: regex tcl

我正在尝试提取字符串中某个模式的所有匹配项。该字符串例如为: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

1 个答案:

答案 0 :(得分:0)

您未指定要获取的结果的类型。如您所写,您想匹配给定字符串中找到的每个字母[digit] ,在[]中仅包含一个字母和一个数字。 您可以使用以下正则表达式来获取它:

([a-zA-Z]\[\d\])

如果只需要小写字母,请删除A-Z。

从现在开始,您可以使用https://www.regextester.com/来检查正则表达式。

希望您觉得这有用!