我正在尝试做一个搜索并用正则表达式替换.
假设我有一个foreach(foo1.txt, foo2.txt, foo3.txt, foo4.txt)
。
我想在列表中的每个项目周围加上“。
我认为 - 从文档 - 这个正则表达式可以工作(foo[1-4]\.txt) -> "\&"
.
但事实并非如此。我究竟做错了什么?
请注意,方括号和圆括号需要在 a 中转义(“额外的斜杠”)search正则表达式,但不在replace regexp.
转义是必需的,因为 lisp 解析器在正则表达式引擎之前看到正则表达式。
但是,如果您以编程方式编写(而不是交互式输入),则需要转义转义!哎依依....
interactive:
M-x replace-regexp RET \(obj.method(.*)\{1\}\) RET trim$(\1)
programmatic:
(replace-regexp "\\(obj.method(.*)\\{1\\}\\)" "trim$(\\1)")
转义的括号被转义,因为它们正在分组,未转义的括号是字面括号。
您可能想查看Emacs Wiki 正则表达式速成课程 and Steve Yegge 的有效 Emacs 正则表达式部分.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)