原文地址:https://www.lujun9972.win/blog/2020/11/23/使用xr帮助分析elisp正则表达式/index.html

Elisp 的正则表达式语法以繁杂著称,分析起来特别麻烦。今天发现一个 xr 库非常好用,可以把Elisp正则表达式语法翻译成 rx 的格式,方便我们对其进行分析。 例如我们尝试使用 xrorg-heading-regexp 进行分析:

(xr org-heading-regexp)
(seq bol(group(one-or-more "*"))(opt(one-or-more " ")(group(*? nonl)))(zero-or-more(any "     "))eol)

从中可以很清楚的看到整个正则表达式分成5个部分:

  1. bol 表示行首
  2. (group (one-or-more "*")) 一个或多个星号组成的分组
  3. (opt (one-or-more " ") (group (*? nonl))) 一个可选项,由一个或多个空格和任意多个非换行字符的分组(其中 *? 说明使用贪婪算法)组成。
  4. (zero-or-mode (any " ")) 任意多个制表符或空格
  5. eol 表示行末

注意到,结果中有很多类似 bol, nonl, eol 这样的缩写,我们可以通过将第二个参数设置为 'verbose 来输出详细说明:

(xr org-heading-regexp 'verbose)
(seq line-start(group(one-or-more "*"))(zero-or-one(one-or-more " ")(group(*? not-newline)))(zero-or-more(any "     "))line-end)

使用xr帮助分析Elisp正则表达式相关推荐

  1. jQuery源码分析-02正则表达式-RegExp-常用正则表达式

    转载自:http://nuysoft.iteye.com/blog/1217898 常用的数字正则(严格匹配)正则 含义 ^[1-9]\d*$ 匹配正整数 ^-[1-9]\d*$ 匹配负整数 ^-?[ ...

  2. 浅析正则表达式——柳暗花明又一村篇

    一.前言 本文章主要针对上篇文章进行补充,接上一篇文章http://www.cnblogs.com/dwlsxj/p/3532458.html,首先为什么开篇叫柳暗花明又一村,大家都知道这个词的解释: ...

  3. 正则表达式之反向引用

    1.概述 捕获组捕获到的内容,不仅可以在正则表达式外部通过程序进行引用,也可以在正则表达式内部进行引用,这种引用方式就是反向引用.要了解反向引用,首先要了解捕获组,关于捕获组,参考 正则基础之--捕获 ...

  4. 【转】刨根究底正则表达式(1):开篇

    奇葩的正则表达式 1.常规学习过程很痛苦 计算机领域中有一些非常基础.重要以及应用广泛,但却又特别容易让人困惑.非常难以理解的主题,这包括了字符编码.字节序(即大小端表示).浮点数实现.日期时间处理以 ...

  5. 尚学堂-马士兵-专题-正则表达式

    一.最简单的正则表达式 String类的一个方法matches. package com.string;public class RegexTest {public static void main( ...

  6. 苹果xr配置_看看下面这些对比,你就知道苹果x和xr哪个好?

    苹果最新款手机已经公布,iPhone XR作为最新公布最便宜的一款,那么和iPhone X比较,哪个更有优势呢,下面我们从各方面来看看iPhone X和iPhone XR区别对比,看看哪个更值得买. ...

  7. 项目总结-网络舆情分析

    # 数据爬取 1. 维度表 微博用户画像表 用户id - 头像 - 昵称 - 粉丝数 - 微博数 - 微博链接 - 性别 - 所在地 微博内容表 微博id - 发布者id - 评论者id - 评论时间 ...

  8. java正则表达式 分词_正则表达式实现(一)

    实现正则表达式的想法很早就有,各种原因导致没有做,最近花了点时间先实现了几个简单的正则语法,分别是concatenation.alternation和closure,其他语法及metacharacte ...

  9. 匹配包含换行符(回车)的任意字符串的正则表达式

    匹配包含换行符(回车)的任意字符串的正则表达式 正则表达式Java  匹配包含换行符(回车)的任意字符串的正则表达式 1) [\s\S] 2) Pattern.DOTALL    \s 匹配字符串的过 ...

最新文章

  1. 七牛服务器入门教程_教程:使用无服务器,StepFunction和StackStorm构建社区的入门应用程序…...
  2. Mybatis源码日志模块分析
  3. vue 高阶面试题_大厂面试题合集
  4. 抖音回应李小璐PGone视频曝光:草稿视频不会上传到后台
  5. 滚动后mouseleave失效_大型调心滚子轴承偏载失效案例详情
  6. android 开发 - 结束所有activity
  7. Pytorch-torchvision源码解读:ASPP
  8. SQLite指南(0) 表和索引的文件存储结构
  9. java如何重复userinput_如何使用Scanner Java重复读取用户输入
  10. 2019语言与智能技术竞赛
  11. hadoop jar 找不到main class_10年老架构,教你HadoopJob使用第三方依赖jar文件,不来就后悔吧...
  12. Java数据库的JDBC编程
  13. oa服务器日常维护,OA系统怎么维护?
  14. hrbust/哈理工oj 2220 强迫症【思维】
  15. 系统修复-菜鸟也DIY
  16. CentOS7.5 远程桌面设置
  17. Java多线程模拟医院排号叫号系统
  18. 浏览器被360劫持怎么办
  19. 华硕ZX53VD笔记本的机械硬盘换成固态硬盘
  20. 惊闻企业Web应用生成平台 活字格 V4.0 免费了,不单可视化设计器免费,服务器也免费!...

热门文章

  1. 小爱智能音箱使用体验:外观篇
  2. linux系统编程---守护进程
  3. 常见SQL语句(仅供自己复习)
  4. Java-截取PDF中的某一页作为缩略图
  5. 《大众创业做电商——淘宝与微店 开店 运营 推广 一册通》一一第2章 电子商务基础...
  6. 电脑html黑色实心圆点,html5使用canvas画空心圆与实心圆
  7. leetcode第294场周赛巫师的总力量和——维护前缀和的前缀和
  8. 台式计算机如何连接投影仪,终极:如何将投影仪连接到笔记本电脑?如何将台式计算机连接到投影仪?...
  9. mx2 android os耗电,魅族MX2续航能力怎么样
  10. 简书一下居住证的办理过程