`
isiqi
  • 浏览: 16033141 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

ELisp编程十二:正则表达式二

 
阅读更多

字符类别

参考文档:http://www.gnu.org/software/emacs/manual/html_node/elisp/Char-Classes.html#Char-Classes


字符类别使用时需要在外面再加上方括号,比如字符串:abcd 3 ab\ ef


要想匹配里面的数字,需要使用字符类别: [:digit:]


正则表达式写法是:"[[:digit:]]"


[:xdigit:] 用来匹配16进制数字


forward-sentence命令


运行命令:forward-sentence 可以找到当前句子的最后位置(句末),一般句子都是以句号. 问号? 感叹号!结尾。不过有可能这些符号会出现在句子中


间,比如下面的句子用forward-sentence命令,仍然可以找到正确的句末。


hello,world Dr. Mark make.


Emacs也提供了快捷键M-e


逻辑或


| 符号也需要用\前缀,因此写成\|


比如字符串:abcd 3 ab\ ef


可以用下面的正则表达式匹配到三个子字符串:ab cd ab


"ab\\|cd"


这里\\表示\的原因是受emacs字符串语法的限制。前一篇已经已经介绍过。


匹配组


()用括号表示匹配组,但是(和)是特殊字符,要用\表明不要作为特殊字符使用。但是\也是特殊字符,还需要前面用一个\告之不要将它作为特殊字符。因此真正


的写法是:\\( 和 \\)


比如正则"\\(ab\\|cd\\) " 匹配上面逻辑或的字符串,找到第一个子字符串"abcd "


更多高级应用参考文档:


http://www.gnu.org/software/emacs/manual/html_node/elisp/Regexp-Backslash.html#Regexp-Backslash


分享到:
评论

相关推荐

    精通正则表达式(第3版) Mastering.Regular.Expressions

     许多种工具都支持正则表达式(文本编辑器、文字处理软件、系统工具、数据库引擎,等等),不过,要想充分挖掘正则表达式的能力,还是应当将它作为编程语言的一部分。例如Java、JScript、Visual Basic、VBScript、...

    正则表达式

    许多种工具都支持正则表达式(文本编辑器、文字处理软件、系统工具、数据库引擎,等等),不过,要想充分挖掘正则表达式的能力,还是应当将它作为编程语言的一部分。例如Java、JScript、Visual Basic、VBScript、...

    regexp-expand:以rx格式显示点处的ELisp正则表达式

    regexp-expand:以rx格式显示点处的ELisp正则表达式

    elisp-koans:Emacs Lisp Koans-通过测试驱动的开发学习elisp

    elisp-koans:Emacs Lisp Koans-通过测试驱动的开发学习elisp

    elisp-def:查找Emacs Lisp定义

    elisp-def:查找Emacs Lisp定义

    elisp-lint:Emacs Lisp的基本皮棉

    elisp-lint:Emacs Lisp的基本皮棉

    elisp-demos:演示Emacs Lisp API

    Elisp API演示 在Ch f mapcar显示mapcar的Elisp演示:用法要将elisp演示注入*Help* ,例如Ch f ( Mx describe-... * mapcar#+BEGIN_SRC elisp(mapcar #'1+ '(1 2 3))#+END_SRC#+RESULTS:: (2 3 4)您可以使用Mx

    elisp-maintainers:Elisp维护者以及如何支持他们

    Elisp维护者以及如何支持他们 这是Emacs软件包,其项目以及如何支持它们的维护者的列表。 显然这是非常不完整的,我只快速添加了一些维护者,他们的捐赠页面很容易^ 1,并且为我自己添加了更长的条目,以展示我希望...

    elisp.js:Elisp转JS转译器

    elisp.js 这是从Emacs Lisp到Javascript的翻译器。演示版为什么? 目标之一是了解v8上的Emacs Lisp可以有多快。 这可能是将来在浏览器中运行Emacs软件包的基础(可能使用作为Emacs运行时的UI)。 当然,学习Emacs ...

    elisp-repl:具有Readline支持的Emacs Lisp REPL

    具有Readline支持的Emacs ...cc -shared -fpic -lreadline elisp-repl-readline.c -o elisp-repl-readline.so 安装 : M-x package-install e2ansi 准备load-path : ( push " ~/src/elisp-repl/ " load-path) 加

    elisp反编译:Emacs Lisp反编译器

    我们目前正在记录Elisp字节码。 参见 您可能会发现自己正在咨询源代码: , 和 。 虫子 您应该这样想,例如,用Google翻译在两种人类语言之间进行转换:有时您得到的东西是完美的,有时您得到的东西有些固执,但您...

    git-elisp-overview:与Git相关的Emacs软件包

    cd git-elisp-overview make init 然后更新使用 make pull 所有套餐 一切为git文件 一切为git grep 在Github存储库中自动设置bug-reference-url-format 。 突出显示文件访问缓冲区中未提交的更改 按文件大小,...

    elisp-check:针对Emacs Lisp CI的GitHub操作

    Emacs Lisp CI的GitHub动作 :scroll: 为Emacs Lisp软件包提供零配置CI解决方案。 当前,大多数Emacs软件包都使用no或基于临时脚本的CI设置。 这个GitHub行动旨在改变这一点。 立即将此操作添加到Emacs软件包存储...

    elisp-latch:Emacs Lisp的承诺和闩锁

    Emacs Lisp的承诺和闩锁 该软件包(ab)使用accept-process-output和进程提供异步阻塞,从而允许其他函数在当前执行上下文完成之前运行。 所有阻塞都会冻结Emacs的显示,但是计时器和I / O将继续运行。...

    elisp-nbt:Emacs Lisp中用于命名二进制标签编码解码的库

    Emacs LISP NBT库 基本的Emacs Lisp库,用于读取/写入以Minecraft命名的Binary Tag格式的文件。 该库使用C模块进行长/双/浮点解析,原则上可以用纯Emacs LISP IEEE-754实现代替C模块,但这工作量很大,也不是一件...

    elisp-parse:用于解析 emacs lisp 的 Haskell 库。 试图区分纯函数和脏函数

    这个库是我为我的另一个项目 haskell-emacs 解析 elisp 的小意图。 目标是能够与haskell emacs 提供的haskell 函数一起计算haskell 端的所有纯elisp 函数。

    elisp document

    elisp 资料 http://www.gnu.org/software/emacs/manual/elisp.html

    elisp-bytecode:让我们记录Emacs Lisp字节码(Lisp汇编程序)指令

    让我们记录一下Emacs Lisp字节码或LAP(Lisp汇编程序)指令。 您可以找到易于查看的PDF。 注意:通常,我会使用项目的评分来衡量有机会时可能从事的工作。 具体来说,对于这个项目获得的每一个支持,我都要多填写...

    Emacs-gather:在缓冲区中收集字符串

    您必须了解 elisp 正则表达式。 有类似的概念occur 。 如果我认为occur具有面向行的功能,则gather.el 具有面向列表的功能。 您可以处理列表,只要您可以处理 Emacs-Lisp 列表对象。安装: 将此文件放入加载路径的...

    Emacs-Elisp-Programming, 有关编程Elisp和Emacs文本编辑器自定义的教程.zip

    Emacs-Elisp-Programming, 有关编程Elisp和Emacs文本编辑器自定义的教程 Emacs - 编程和自定义概述Emacs不需要任何演示文稿。 Emacs提供了一款软件,它提供了可以编程文本编辑器。电子邮件阅读器。文本浏览器。图片 ...

Global site tag (gtag.js) - Google Analytics