如何在emacs中使用正则表达式匹配此字符串?

时间:2014-03-11 14:29:52

标签: regex emacs elisp

我已尝试为此<?= T_('XXX'); ?>替换此{{ T_('XXX') }},我试试这个

<\\?= \\([^\\?]+\\) *\\?> - &gt; {{ $1 }}

并且无法使其发挥作用。我应该使用什么样的正则表达式和替代品。

PS:有没有Emacs的在线Regex工具,那里有很多工具,但我找不到emacs的一个(也许emacs本身就有工具)。

2 个答案:

答案 0 :(得分:1)

此代码将进行替换,点必须处于缓冲区启动:

(replace-regexp "<\\?=\\([^;]+\\); \\?>"
                "{{\\1 }}")

互动它 M-x replace-regexp,但是从上面每两个反斜杠 你只需要换一个。

答案 1 :(得分:0)

IIUC你不需要正则表达式,一个简单的字符串替换就可以了:

M-x query-replace RET
<?=
RET
{{

然后

M-x query-replace RET
; ?>
RET
 }}