【TCL语言-正则表达式-匹配整数和小数】

  • Post author:
  • Post category:其他



用于匹配的正则表达式为 :([1-9]\d*\.?\d*)|(0\.\d*[1-9])

[1-9] :匹配1~9的数字;

\d :匹配数字,包括0~9* :紧跟在 \d 之后,表明可以匹配零个及多个数字;

\. :匹配小数点;

? :紧跟在 \. 之后,表明可以匹配零个或一个小数点;

0 :匹配一个数字0)
其中的 [1-9]\d*\.?\d* 用以匹配诸如:12334.056.78 之类的非负的整数和浮点数;

其中的 0\.\d*[1-9] 用以匹配诸如:0.10.230.405 之类的非负浮点数;

set Port  xgei-0/1/1/43
set buf_inter_brief [MZteVerify $DUT4 "  show intf-statistics utilization | include $Port" -r]
puts buf_inter_brief:$buf_inter_brief
##此规则可匹配非法整数和浮点数,要加转义字符“\”
set ptn_rate "$Port\\s+\\d+\\s+\[1-9]\\d*\\.?\\d*\\s+\\d+\\s+(\[1-9]\\d*\\.?\\d*)\\s+"
puts ptn_rate:$ptn_rate

set buf_up [regexp $ptn_rate $buf_inter_brief match portrate]
puts buf_up:$buf_up
puts match:$match
puts portrate:$portrate



版权声明:本文为weixin_44081384原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。