linux tcl语法的正则表达式,实现匹配或者替换操作

来源:互联网 发布:java中的main函数 编辑:程序博客网 时间:2024/06/05 22:42

  • regexp
  • regsub

IC EDA工具默认支持的内置脚本,一般都是tcl语言。
常用的正则表达式,也就regexp和regsub两个,分别代表匹配字符串和替换字符串的功能。

regexp

regexp,以正则表达式的方式去匹配字符串。
大括号的意思是,模式匹配。
个人建议:变量用双引号;模式匹配的内容,用大括号。不要混用。

语法:regexp ?switchs? ?–? exp string ?matchVar?\ ?subMatchVar subMatchVar…?
regexp命令用于判断正规表达式exp是否全部或部分匹配字符串string,匹配返回1,否则0。

% set a "aaaa /bb"aaaa /bb% puts $aaaaa /bb% regexp {(.*)\/.*} $a totalMatch subMatch1% puts $subMatchaaaa % 

regsub

regsub,以正则表达式的方式去替换字符串。

语法:regsub ?switchs? exp string subSpec varname
regsub的第一个参数是一个整个表达式,第二个参数是一个输入字符串,这一点和regexp命令完全一样,也是当匹配时返回1,否则返回0。不过regsub用第三个参数的值来替换字符串string中和正规表达式匹配的部分,第四个参数被认为是一个变量,替换后的字符串存入这个变量中。

% puts $aaaaa /bb% regsub -all {\/.*} $a "/cc" stringB1% puts $stringBaaaa /cc% 
0 0
原创粉丝点击