首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

有人可以解释这个elisp regexp

elisp regexp是指Emacs Lisp中的正则表达式。正则表达式是一种用于匹配和操作文本的强大工具,它可以用于搜索、替换、验证和提取文本数据。

Elisp是Emacs Lisp的简称,是一种用于编写Emacs编辑器扩展的方言。正则表达式在Elisp中被广泛使用,它可以通过内置的函数和宏来进行操作。

Elisp正则表达式的语法和其他编程语言中的正则表达式语法类似,但也有一些特定的语法规则和特性。以下是一些常见的Elisp正则表达式语法元素:

  1. 字符匹配:可以使用普通字符来匹配相应的字符,例如匹配字母"a"可以使用字符"a"。
  2. 字符类:使用方括号[]来定义一个字符类,可以匹配方括号中的任意一个字符。例如,"abc"可以匹配字符"a"、"b"或"c"。
  3. 转义字符:使用反斜杠\来转义特殊字符,使其具有特殊的含义。例如,"\d"可以匹配一个数字字符。
  4. 重复次数:使用限定符来指定匹配的重复次数。例如,"*"表示匹配0次或多次,"+"表示匹配1次或多次,"?"表示匹配0次或1次。
  5. 分组:使用圆括号()来创建一个分组,可以对分组内的内容进行操作。例如,"(abc)+"可以匹配连续出现的"abc"字符串。
  6. 特殊字符类:Elisp正则表达式支持一些特殊的字符类,如\d表示数字字符,\w表示字母、数字或下划线字符,\s表示空白字符等。

Elisp正则表达式可以在各种场景中使用,例如:

  1. 文本搜索和替换:可以使用正则表达式来搜索和替换文本中的特定模式。
  2. 数据验证:可以使用正则表达式来验证用户输入的数据是否符合特定的格式要求。
  3. 数据提取:可以使用正则表达式来从文本中提取特定的数据片段。
  4. 语法高亮:可以使用正则表达式来实现代码编辑器中的语法高亮功能。

腾讯云提供了云计算相关的产品和服务,其中与正则表达式相关的产品是腾讯云云函数(SCF)。腾讯云云函数是一种事件驱动的无服务器计算服务,可以使用云函数来编写和执行包含正则表达式的代码逻辑。您可以通过以下链接了解更多关于腾讯云云函数的信息:腾讯云云函数

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

30岁文转码:我用了三年时间从哲学家变成知名软件项目核心开发

“如果没有我们生活中的无名英雄,没有人会取得任何有意义的成就。”Prot 说。...从这个角度来看,Emacs 相当于是 Lisp 机,可以用来执行任何类型的程序。这里的“程序”可以指代一切,包括 Org 或者 Magit 这样的大功能、也包括精简文本编辑和操作等小应用。...如果大家愿意稍微学学 Elisp,那 Emacs 可以说是蕴藏着无穷无尽的可能。...Dired 可以逐个标记条目,也可以使用正则表达式和其他高级命令。 记录一组以 Dired 为起点的操作(「键盘宏」),跳转至特定文件,执行某些变更、返回文件管理器,再在下一个文件中重复这个过程。...于是,Emacs 提倡一种强大的文档文化,每份 Elisp 表单都必须用自然语言解释其作用,每个功能包都必须提供使用与配置说明。我们希望用这样的方式保障最低限度的计算自由。

35730

008. Emacs 之光的成长历程

更令人好奇的是,嘉宾如何在短期内熟悉 Emacs 源码并为之贡献多个 patch,相信通过嘉宾的学习、贡献经历,可以给听众打开 Emacs 源码的神秘面纱,让更多用户参与到 Emacs 的贡献中,一个多小时的分享...时间线 • 00:00:56 嘉宾自我介绍 • 00:02:20 Emacs 初相识 • 00:10:08 ELisp 学习经历 • 00:15:45 Emacs 的可发现性 Discoverability...最后有个句号,句号后两个空格 • 注释用的是 C 风格的 /* */ ,而不是 C++ 的 // • 函数名后面跟一个空格,再是括号 •读 Emacs 源码技巧 • lisp.h[12] 里面有 C 如何调用 ELisp...的示例 • 去 devel[13] 邮件列表咨询,还可以练习英文表达能力 • ccls[14] + grep + ctags • 通过搜索相关功能来探究其个函数的用法 •嘉宾的分享 • aggressive-indent-mode...Regular-Expressions.html [9] 15.5 Regular Expression Search: https://www.gnu.org/software/emacs/manual/html_node/emacs/Regexp-Search.html

37310

Emacs Tree-sitter 初体验

Emacs 中,之前都是采用正则的方式去解析语言的语法结构,这种方式虽然大多数情况是没有问题的,但主要有以下几个问题: 正则比较消耗 CPU,导致对大文件进行高亮时容易导致 Emacs 卡主,参见:Regexp...但到这里安装并没有完成,这只是完成了核心部分,不同语言的解析器需要单独安装,不过幸好社区内已经有人整理好了, https://github.com/emacs-tree-sitter/tree-sitter-langs.../releases Emacs 默认从 treesit-extra-load-path 指定的路径去加载动态链接库,如果这个值是 nil ,它默认会从 user-emacs-directory 下的 tree-sitter...所以在下载好对应平台的压缩包后,可以解压到上面指定的目录内。...Problems (GNU Emacs Lisp Reference Manual): https://www.gnu.org/software/emacs/manual/html_node/elisp

1K10

Emacs Lisp

是现今第二悠久而仍广泛使用的高级编程语言,只有 FORTRAN 编程语言比它更早一年,LISP 编程语族已经演变出许多种方言,现代最著名的通用编程语种是 Common Lisp 和 Scheme , 以上解释来自...;; 为了实验本教程中的lisp命令,我们要让Emacs工作在lisp-interaction-mode工作模式下, ;; 这个模式可以让我们在缓冲区中和Emacs进行互动,并且直接执行Lisp命令,得到结果...C-x C-e组合键 ;; C-x C-e的意思是: 先按下Ctrl-x 再按下Ctrl-e ;; 这个命令会让Emacs在辅助缓冲区,也就是Emacs窗口的最底部那行显示计算结果 ;; ELisp...hello函数,这个函数就成为了Emacs的一部分,知道你退出Emacs或者改变hello的定义 ;; 从下面开始,我们将不再提醒读者使用C-x C-e来定义函数和执行ELisp指令 ;; 在Elisp...; 局部变量 )))) ;; 执行greeting函数,并提供"you"字符串作为参数 (greeting "you") ;; read-from-minibuffer函数提供和用户交互的功能,这个函数可以帮助

2.2K30

使用 RustC 开发 Emacs 插件

Emacs 在 25 版本后,支持了动态模块(dynamic modules),这为 Emacs 插件的开发打开了新的一扇大门,任何能够编译生成符合 Emacs ABI 要求的语言都可以使用。...为了简化数据类型在 C 与 ELisp 之间的转化,Emacs 提供了一系列函数,比如: Elisp–>C 更多类型转化可参考官方文档: •Conversion Between Lisp and Module...Dynamically-Loaded Modules •Emacs modules | Philipp’s documents 简化方法调用 从上面介绍的示例可看出,基本所有函数都需要 env 这个参数...这里主要会用到 emacs-module-rs 这个 crate,示例代码如下: use emacs::{defun, Env, Result, Value}; emacs::plugin_is_GPL_compatible...emacs-module-rs.git cd emacs-module-rs && cargo build 这会生成 libemacs_rs_module.dylib ,它会暴露 rs-module/load 方法,用这个方法去加载其他模块即可实现热加载

78920

Emacs Lisp2

;; 为了实验本教程中的lisp命令,我们要让Emacs工作在lisp-interaction-mode工作模式下,;; 这个模式可以让我们在缓冲区中和Emacs进行互动,并且直接执行Lisp命令,得到结果...中做运算,调用函数的最简单的方式是;; (function arg1 arg2) ;; 这相当于通常的function(arg1,arg2),下面的表达式,对两个数字进行加法运算(+ 2 2);; Elisp...C-x C-e组合键;; C-x C-e的意思是: 先按下Ctrl-x 再按下Ctrl-e ;; 这个命令会让Emacs在辅助缓冲区,也就是Emacs窗口的最底部那行显示计算结果;; ELisp中的赋值函数是是...hello函数,这个函数就成为了Emacs的一部分,知道你退出Emacs或者改变hello的定义;; 从下面开始,我们将不再提醒读者使用C-x C-e来定义函数和执行ELisp指令;; 在Elisp中直接输入函数的名称就是调用该函数...your-name ; 局部变量))));; 执行greeting函数,并提供"you"字符串作为参数(greeting "you");; read-from-minibuffer函数提供和用户交互的功能,这个函数可以帮助

96040

Emacs Lisp

是现今第二悠久而仍广泛使用的高级编程语言,只有 FORTRAN 编程语言比它更早一年,LISP 编程语族已经演变出许多种方言,现代最著名的通用编程语种是 Common Lisp 和 Scheme , 以上解释来自...;; 为了实验本教程中的lisp命令,我们要让Emacs工作在lisp-interaction-mode工作模式下, ;; 这个模式可以让我们在缓冲区中和Emacs进行互动,并且直接执行Lisp命令,得到结果...C-x C-e组合键 ;; C-x C-e的意思是: 先按下Ctrl-x 再按下Ctrl-e ;; 这个命令会让Emacs在辅助缓冲区,也就是Emacs窗口的最底部那行显示计算结果 ;; ELisp...hello函数,这个函数就成为了Emacs的一部分,知道你退出Emacs或者改变hello的定义 ;; 从下面开始,我们将不再提醒读者使用C-x C-e来定义函数和执行ELisp指令 ;; 在Elisp...; 局部变量 )))) ;; 执行greeting函数,并提供"you"字符串作为参数 (greeting "you") ;; read-from-minibuffer函数提供和用户交互的功能,这个函数可以帮助

2.3K40

ES6之正则的扩展

正则构造函数一般都是两个参数,ES6之前如果只有一个正则表达式的参数: var reg = new RegExp(/a/g); 这时候是不允许再加一个参数: var reg = new RegExp(...ES6把字符串使用正则的四个方法都变成调用正则对象RegExp上的方法,使用的时候是没什么区别,只是内部调用改变了,比如调用math方法是调用RegExp的prototype上面的方法。...也是全局匹配,解释说后一次匹配都从上一次匹配成功的下一个位置开始,增加了新的修饰符,相应的也增加了sticky属性。研究了一下,并没有理解,希望有人能指点一下。...我们可以用source获取正则的表达式,ES6新增了flags属性获取标志符igmuy等。...我觉得这个可以好好了解一下。 Unicode属性类,\p{...}和\P{...},允许匹配符合Unicode某种属性的所有字符。

33810

005. 与 Emacs 高手陈斌闲聊 Emacs

是什么样的契机让他打开了 Emacs 这个潘多拉魔盒? 作为一个拥有众多插件的开源软件维护者,如何处理用户的不满?如何调节生活与维护的压力?陈斌给出了自己的答案。...Emacs 最佳实践的 • 00:15:36 嘉宾列举的一些 Emacs 技巧 • 00:21:30 Emacs 的开放性,与其他编辑器的区别,“乱” VS “自由” • 00:26:31 嘉宾学习 ELisp...岁 • 吃了半年苦头后,无意间发现了 Steve Purcell[6] 的配置,才开始真正掌握其要领 •Emacs 技巧分享 • 在项目中查找文件 find-file-in-project[7] • ELisp...API 多,不同插件之间可以相互调用 •Elisp 学习经历 • 潜移默化,没有特意去学 •对待开源的态度 • 佛系,软件一开始往往都是不完美的,逐渐去完善就好 • 对新手学习 Emacs 的建议 •...• 基于 ctags[10],使用 counsel-etags[11] 来做代码导航,company-ctags[12] 来做代码补全 • shell-mode,新写的 shellcop[13] 插件可以根据

93310

linux最快的文本搜索神器ripgrep(grep的最好代替者)

所以就有了很多替代工具,之前最出名的是 Ack,Ag 而最近又有了新的替代者 Ripgrep, 这个工具和 Ack/Ag 一样都使用了多线程的方法,但 rg 比它们更快 简介 ripgrep 是一个以行为单位的搜索工具...To match a pattern beginning with a dash, use the -e/--regexp flag....–no-fixed-strings 来禁止这个选项 -L, –follow 会递归搜索链接,默认关闭 可以用–no-follow 来关闭 -g, –glob … 通配符文件或文件夹,可以用!...> 编译 regex 的上限 -e, –regexp … 使用正则来匹配 可多次使用这个选项,打印匹配任何 pattern 的行 可以用于搜索-开头的 pattern,如rg -...css: *.css, *.scss csv: *.csv cython: *.pyx d: *.d dart: *.dart dhall: *.dhall docker: *Dockerfile* elisp

4.1K51

手把手教你封装一个日期格式化的工具函数

2021-01-17T13:32:06.381Z", "lastLoginTime" : "2021-01-17T13:32:06.381Z" 直接CV到百度,查出来这一串是一种时间格式,下面放上它的解释...另:还有别的时间格式和时间戳,想了解的小伙伴可以百度了解一下哦,免得跟我一样,看到了才想着去百度了解,事先了解一下,没坏处的。...date.getDate(), 'h+': date.getHours(), 'm+': date.getMinutes(), 's+': date.getSeconds() } 首先先解释一下...定义了规则之后,我们循环它,应该就可以得到我们想要的结果了吧。...(RegExp.$1,val) } } 我们继续来解释一下代码,首先fmt.replace是代表我们要做一个替换,RegExp.$1就是获取到上面的值表达式内容,将这个内容,换成val中的值,之所以上面加了一个空字符串

29720
领券