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
% 
GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐