正则表达式(Regular Expressions)
完成条件
Emacs 文本编辑器中的正则表达式
Emacs 使用的正则表达式(regexp)结合了 基本正则表达式(BRE)和扩展正则表达式(ERE) 的特点,同时支持 GNU 扩展。
Emacs 正则表达式的特性
-
反斜杠转义(Backslash Escaping)
- Emacs 混合使用 了 BRE 和 ERE 语法:
- 像 ERE 一样,支持不加反斜杠的
+
、?
- 像 BRE 一样,支持需要反斜杠的
\(
,\)
- 像 ERE 一样,支持不加反斜杠的
- Emacs 混合使用 了 BRE 和 ERE 语法:
\|
, \{</code>, <code>\}
GNU 扩展
\w
:匹配单词字符(类似[a-zA-Z0-9_]
)\W
:匹配非单词字符\b
:匹配单词边界\B
:匹配非单词边界\<
/\>
:匹配单词的开头 / 结尾`
/'
:匹配文本缓冲区(buffer)的开始和结束
与 PCRE(Perl-Compatible Regular Expressions)的不同
- 没有
\s
(空白字符匹配)- 需要使用
\s-
代替
- 需要使用
- 没有
\d
(数字匹配)- 需要使用
[0-9]
或[:digit:]
- 需要使用
- 不支持前瞻(Lookahead)和后顾(Lookbehind)
语法匹配
- 使用模式特定的语法表 进行匹配:
\sc
、\s-
、\s
等用于特定语法模式匹配
- 按类别匹配
\cc
、\cg
等匹配不同类别的字符
适用工具
- Emacs 编辑器
最后修改: 2025年01月30日 星期四 02:24