正则表达式 – 替换括号

前端之家收集整理的这篇文章主要介绍了正则表达式 – 替换括号前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在下面用“Exp […]”替换所有出现的“exp(…)”(实质上从Matlab改为Mathematica语法):

exp(-(pi*k2*2i)/3)*(v9/4 + (3^(1/2)*(v8/2 + (3^(1/2)*v9)/2))/2 + (3^(1/2)*v8)/12) + exp((pi*k2*2i)/3)*(v9/4 + (3^(1/2)*(v8/2 + (3^(1/2)*v9)/2))/2 + (3^(1/2)*v8)/12) ...

是否可以使用vim,sed或awk自动执行此操作?诀窍不是将所有“(”替换为“[”,只替换在exp之后立即出现的那些和相应的对.

解决方法

你可以用vim宏做到这一点.

让我们按qaq清除寄存器. (如果记录了以前的任何操作,我们可以清除它们)

按qa开始宏录制.
搜索exp(通过输入/ exp(/ e.这会将光标放在(.
按%移动到其右括号.按r]将其替换为].
现在,按N移动到exp(.按r [将其替换为[.按@a递归替换所有此类实例.按q停止录制.

现在,你可以按@a来播放宏,它将取代所有地方.

猜你在找的正则表达式相关文章