elisp 如何替换/提取字符串?

在Fortran程序中有一些语法过时了需要进行更正。不知道怎么样写一个程序对字符串进行处理。 比如;

原字符串:

PARAMETER(NS=199)

目标字符串:

integer,parameter:: NS = 199

前面的替换还好说,重点时怎么把括号中的NS=199提取出来,麻烦大家给一些建议,谢谢!

正则匹配括号

抛砖:

M-x -> replace-regexp -> \([^(]*\)(\([^)]*\)) -> integer,\,(downcase \1):: \2

不太懂正则,全都是现用现搜;;

不过emacs有个内置函数,re-builder可以测试写出来的正则是否符合要求,非常好用

之后replace-regexp替换就好了

1 个赞

感谢** p1uxtar**,思路是可行的,我最近有时间实现了这个功能的函数。

不知道为什么,re-builder需要使用双斜杠,而replace-regexp则只识别单斜杠。