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

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 $a
aaaa /bb
% regexp {(.*)\/.*} $a totalMatch subMatch
1
% puts $subMatch
aaaa 
% 

regsub

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

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

% puts $a
aaaa /bb
% regsub -all {\/.*} $a "/cc" stringB
1
% puts $stringB
aaaa /cc
% 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值