用正则表达式进行模块例化
作者:互联网
IC设计、验证中,在搭建环境或者设计top层时,往往需要将对应的模块例化进相应的代码中,而如果要例化的模块接口比较多,达到上百个,一个个的去修改格式就比较麻烦,使用正则表达式可以节省时间。
需要用到的正则表达式 |
说明 |
\( \) |
选中括弧中的内容,可以分别用\1和\2再次引用第1个括弧和第二个括弧中的内容 例子:s/\(123\)456\(789\)/abc\1efg\2 表达式意思:将123456789替换成123efg789 |
. |
匹配任意一个字符 |
\s |
匹配空白字符,包括tab和空格 |
\+ |
匹配多个“\+”前的内容 例子:\s\+ 表达式意思:匹配多个空格 |
完成从左到右的替换需要使用
:33,218s/\(\s\+\)\(.\+\),/\1.\2(\2),
说明
范围行号 匹配句首的多个tab或者空格 匹配接口内容
之后所有的例化只需要更改行号,然后改一下最后一个接口就可以了(最后一个接口没有“,”结尾,正则表达式匹配不到)
:33,218s/\(\s\+\)\(.\+\),/\1.\2(\2),
标签:括弧,匹配,正则表达式,接口,空格,例化,模块 来源: https://www.cnblogs.com/root0509/p/14761878.html