emacs里怎么用正则删除多行文本
跨行匹配的方法介绍

rtl里例化了大量的stdcell,为了加速仿真,手工简化stdcell.v需要把所有的specify删掉。格式如下:

specify
xxx
endspecify

在emacs里默认.*不能匹配换行符,需要用下面的方法。我们知道[a-z]表示从a到z的26个字母。那么[z-a]中z的ascii码比a大,就什么都匹配不到。加个反[^z-a]就可以表示匹配所有字符,包括换行符。由于specify语句每个stdcell里都有,就需要加上?限制为非贪婪模式。

specify[^z-a]*?endspecify

在emacs里按C-M-%来调用query-replace-regexp,查找的地方输入上面的正则,替换的地方不填就是删除。最后按!替换全部。

 

感谢阅读,更多文章点击这里:【专栏:ExASIC】
公众号:ExASIC
分享数字集成电路设计中的经验和方法。分享让工作更轻松。
公众号二维码
留言(0)
还没有留言,来说两句吧。
留言需要 登录 或 注册(注册后需通过邮箱验证)。
相关文章