TCL-通过正则表达式设置变量值

时间:2020-02-11 23:57:16

标签: tcl

使用TCL regexp解析文本斑点,并尝试将匹配项分配给变量。我知道匹配项存储在match中,但仅限于将语句包含在“找到设置”中。

这不起作用:

set text "asdf asdf bob foobar 123456@bar dksl: dpee" # simulating blob of text

set found [set blob $text]; regexp -nocase {\d{6}(?:@bar)} $blob match; return $found;

puts $found

有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

您的脚本有几个问题,但是正则表达式通常没问题。以下将按预期工作:

regexp -nocase {(\d{6})(?:@bar)} $text _ found

(请注意分组括号!)

您的脚本存在问题:

  • 请勿使用return(没有必要,因为您不是从proc返回)。结果,行puts $found最终成为无效代码。
  • 为什么所有的绒毛都重新分配给blob等。