问题描述
现在的高级编程语言,多数都支持正则表达式。而且,对于字符串的复杂处理,使用正则表达式可谓相当方便(如果是简单处理,则无需使用正则表达式)。当然,对于正则表达式的学习,还是有些困难的,毕竟那些奇怪的符号,让人忘而生畏。
该笔记将记录:在 Emacs Lisp 中,使用正则表达式的方法,及学习路线(官方文档组织方式,虽然邻近但是依旧零散)。
解决方案
学习路线
最好的学习方法便是阅读官方文档(任何第三方的整理记录,都不能完全保证时效性与准确性,只能作为一种补充):
34.3.1.1 Special Characters in Regular Expressions
34.3.1.2 Character Classes
34.3.1.3 Backslash Constructs in Regular Expressions
34.3.1.2 Character Classes
34.3.1.3 Backslash Constructs in Regular Expressions
34.3.2 Complex Regexp Example
34.3.3 The rx Structured Regexp Notation
34.3.4 Regular Expression Functions
34.3.3 The rx Structured Regexp Notation
34.3.4 Regular Expression Functions
我们这里仅是罗列官方文档,让我们对要学习的内容及章节有个整理的了解(官方文档拆成子章节,看起来有些“零散”)
使用说明
# 09/22/2018 在 Emcas 中,正则表达式并不具备 PCRE、ERE 的语法,它的正则语法更像是 BRE,因此会看到大量带有反斜线的正则表达式。
operator | syntax |
---|---|
or | ‘\|’ |
grouping | ‘\(’ and ‘\)’ |
To specify a regular experession like `xxx\(foo\|bar\)` in a Lisp string, use `xxx\\(foo\\|bar\\)`
参考文献
Regexps – GNU Emacs Manual
EmacsWiki: Regular Expression
https://www.gnu.org/software/emacs/manual/html_node/efaq/Using-regular-expressions.html%20