博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Emacs 函数自动生成正则表达式
阅读量:6163 次
发布时间:2019-06-21

本文共 682 字,大约阅读时间需要 2 分钟。

hot3.png

Emacs 正则表达式

Emacs 里面的正则表达式首先让人感觉太乱了!主要原因是特殊字符(或称特 殊表)少,所以如果匹配常见的如: "()[]{}|" 都需要用 "\" 转义!

(let ((str "abc]-^]123"))  (string-match "[]^0-9-]+" str)  (match-string 0 str))                 ; => "]-^]123"

Emacs 提供一个很好的正则表达式调试工具:M-x re-builder。它能显示 buffer 匹配正则表达式的字符串,并用不同颜色显示捕捉的字符串。

可以用emacs自动生成一个高效的正则匹配:

(regexp-opt '("foobar" "foobaz" "foo"));; C-u C-x C-e ==> "\\(?:foo\\(?:ba[rz]\\)?\\)"

常用的函数

(regexp-quote STRING)(regexp-opt STRINGS &optional PAREN)

常用命令

describe-syntaxdescribe-categories

示例

(setq adaptive-fill-regexp "[ \t]+\\|[ \t]*\\([0-9]+\\.\\|\\*+\\)[ \t]*");; 上面正则表达式:这表示前缀可以全是空白字符。或者开头可以有一些空白,;; 接着数字加点或者一个以上的 *,接着一些空白。

转载于:https://my.oschina.net/freeblues/blog/105673

你可能感兴趣的文章
JS图片跟着鼠标跑效果
查看>>
Leetcode 3. Longest Substring Without Repeating Characters
查看>>
416. Partition Equal Subset Sum
查看>>
app内部H5测试点总结
查看>>
[TC13761]Mutalisk
查看>>
while()
查看>>
常用限制input的方法
查看>>
IIS7下使用urlrewriter.dll配置
查看>>
并行程序设计学习心得1——并行计算机存储
查看>>
C++ 迭代器运算
查看>>
【支持iOS11】UITableView左滑删除自定义 - 实现多选项并使用自定义图片
查看>>
【算法笔记】多线程斐波那契数列
查看>>
java8函数式编程实例
查看>>
jqgrid滚动条宽度/列显示不全问题
查看>>
在mac OS10.10下安装 cocoapods遇到的一些问题
查看>>
css技巧
查看>>
Tyvj 1728 普通平衡树
查看>>
javascript性能优化
查看>>
多路归并排序之败者树
查看>>
java连接MySql数据库
查看>>