tcl使用小结

在工做中使用tcl几年了,基本都是把测试用例转化成自动化脚本,没有用太多复杂的功能。我总结下本身用的比较多的地方:正则表达式

咱们须要把一个模块的配置命令写在一个函数中,每一个命令做为可变参数传入,便于后期维护。函数

1.可变参数的函数测试

咱们须要把一个模块的配置命令写在一个函数中,每一个命令做为可变参数传入,便于后期维护。spa

proc VxlanConfig {args} { #存放命令字符串
    set cmd ""
    #进入vxlan配置模式
 。。。 #配置vxlan实例
    #lsearch 命令在给定列表中搜索与匹配字符串匹配的元素,成功就返回正确的元素索引,不然返回-1。
    set index [lsearch "-vxlan"] set value args[index+1] set cmd "-vxlan"+value }

2.列表的操做
code

lsearch ?-exact? ?-glob? ?-regexp? list pattern   regexp

    返回list 中第一个匹配模式 pattern 的元素的索引,若是找不到匹配就返回-1。blog

    -exact、-glob 、-regexp 是三种模式匹配的技术。-exact表示精确匹配;索引

    -glob 的匹配方式和 string match命令的匹配方式相同,-regexp 表示正规表达式匹配。ci

3.正则表达式匹配,用于判断结果,用得最多的字符串

两种模式匹配, 一种是简单的"通配符"样式,一种是正则表达式

(1)string match 通配符样式的匹配

string match ?-nocase? 模式 string ; -nocase表示忽略大小写,经常使用的通配符与C相似,*表示任意字符串,?表示任意的一个字符,

(2)正则表达式

regexp  [选项]  <正则表达式>  <匹配的原始字符串>  <保存匹配后字符串的变量>  [其余保存子模式匹配字符串的变量]

上面regexp中用[]括起来的部分是可选的,其余<>括起来的部分是必须的,若是正则表达式匹配从原始字符串中匹配到了内容,则命令返回1而且将匹配到的内容<保存匹配后字符串的变量>中。

 

反斜杠序列

简要说明

\d

表示0-9之间的数字

\D

除了0-9之间数字的其余字符,与\d做用相反

\s

空白符,包括空格、换行、回车、制表、垂直制表、换页符等

\S

非空白符,与\s做用相反

相关文章
相关标签/搜索