如何使用TCL中的regexp从1行(从M 1 COMPLD)中检索此行?

时间:2013-10-22 06:16:13

标签: regex tcl

set sample "act-user:IMLI:nmss:1::***;
imli 2013-10-21 15:13:54
M  1 COMPLD
;
IMLI 2013-10-21 15:13:54
;
>"

如何使用TCL中的正则表达式检索1(从M 1 COMPLETE)此行

1 个答案:

答案 0 :(得分:1)

您需要使用非默认匹配模式 - 线路感知 - 才能使RE简单:

regexp -line {^M\s+(\d+)\s+COMPLD$} $sample -> value
puts "value = $value"

或者,您可以将选项放在RE本身内:

regexp {(?n)^M\s+(\d+)\s+COMPLD$} $sample -> value
puts "value = $value"

行为完全相同。