我有一段看起来像
的文字par.dm_std;
par.dm_POM;
par.dm_CaCO3;
我希望它看起来像
par.dm_std = dm_std;
par.dm_POM = dm_std;
par.dm_CaCO3 = dm_CaCO3;
所以我基本上是在"。"之后复制所有内容。并在之前加上一个等号,之后加一个分号。我试图用
运行查询替换par\.\(.*\) -> par\.\1 = \1;
但是emacs会返回错误消息
Invalid use of `\' in replacement text
我无法弄清楚我的生活在这里做错了什么? 顺便说一句,这是我正在使用的matlab代码。
答案 0 :(得分:2)
您不应在替换文本中转义.
。你还应该在匹配表达式的末尾有一个文字;
;否则,它将包含在\1
中,并且您将在等号前获得额外的分号。
Replace regexp: par\.\(.*\);
Replace with: par.\1 = \1;
答案 1 :(得分:0)
显然,我应该使用replace-regex而不是query-replace-regex。 对于前者,一切正常。