使用xr帮助分析Elisp正则表达式
原文地址:https://www.lujun9972.win/blog/2020/11/23/使用xr帮助分析elisp正则表达式/index.html
Elisp 的正则表达式语法以繁杂著称,分析起来特别麻烦。今天发现一个 xr
库非常好用,可以把Elisp正则表达式语法翻译成 rx
的格式,方便我们对其进行分析。 例如我们尝试使用 xr
对 org-heading-regexp
进行分析:
(xr org-heading-regexp)
(seq bol(group(one-or-more "*"))(opt(one-or-more " ")(group(*? nonl)))(zero-or-more(any " "))eol)
从中可以很清楚的看到整个正则表达式分成5个部分:
bol
表示行首(group (one-or-more "*"))
一个或多个星号组成的分组(opt (one-or-more " ") (group (*? nonl)))
一个可选项,由一个或多个空格和任意多个非换行字符的分组(其中 *? 说明使用贪婪算法)组成。(zero-or-mode (any " "))
任意多个制表符或空格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正则表达式相关推荐
- jQuery源码分析-02正则表达式-RegExp-常用正则表达式
转载自:http://nuysoft.iteye.com/blog/1217898 常用的数字正则(严格匹配)正则 含义 ^[1-9]\d*$ 匹配正整数 ^-[1-9]\d*$ 匹配负整数 ^-?[ ...
- 浅析正则表达式——柳暗花明又一村篇
一.前言 本文章主要针对上篇文章进行补充,接上一篇文章http://www.cnblogs.com/dwlsxj/p/3532458.html,首先为什么开篇叫柳暗花明又一村,大家都知道这个词的解释: ...
- 正则表达式之反向引用
1.概述 捕获组捕获到的内容,不仅可以在正则表达式外部通过程序进行引用,也可以在正则表达式内部进行引用,这种引用方式就是反向引用.要了解反向引用,首先要了解捕获组,关于捕获组,参考 正则基础之--捕获 ...
- 【转】刨根究底正则表达式(1):开篇
奇葩的正则表达式 1.常规学习过程很痛苦 计算机领域中有一些非常基础.重要以及应用广泛,但却又特别容易让人困惑.非常难以理解的主题,这包括了字符编码.字节序(即大小端表示).浮点数实现.日期时间处理以 ...
- 尚学堂-马士兵-专题-正则表达式
一.最简单的正则表达式 String类的一个方法matches. package com.string;public class RegexTest {public static void main( ...
- 苹果xr配置_看看下面这些对比,你就知道苹果x和xr哪个好?
苹果最新款手机已经公布,iPhone XR作为最新公布最便宜的一款,那么和iPhone X比较,哪个更有优势呢,下面我们从各方面来看看iPhone X和iPhone XR区别对比,看看哪个更值得买. ...
- 项目总结-网络舆情分析
# 数据爬取 1. 维度表 微博用户画像表 用户id - 头像 - 昵称 - 粉丝数 - 微博数 - 微博链接 - 性别 - 所在地 微博内容表 微博id - 发布者id - 评论者id - 评论时间 ...
- java正则表达式 分词_正则表达式实现(一)
实现正则表达式的想法很早就有,各种原因导致没有做,最近花了点时间先实现了几个简单的正则语法,分别是concatenation.alternation和closure,其他语法及metacharacte ...
- 匹配包含换行符(回车)的任意字符串的正则表达式
匹配包含换行符(回车)的任意字符串的正则表达式 正则表达式Java 匹配包含换行符(回车)的任意字符串的正则表达式 1) [\s\S] 2) Pattern.DOTALL \s 匹配字符串的过 ...
最新文章
- 七牛服务器入门教程_教程:使用无服务器,StepFunction和StackStorm构建社区的入门应用程序…...
- Mybatis源码日志模块分析
- vue 高阶面试题_大厂面试题合集
- 抖音回应李小璐PGone视频曝光:草稿视频不会上传到后台
- 滚动后mouseleave失效_大型调心滚子轴承偏载失效案例详情
- android 开发 - 结束所有activity
- Pytorch-torchvision源码解读:ASPP
- SQLite指南(0) 表和索引的文件存储结构
- java如何重复userinput_如何使用Scanner Java重复读取用户输入
- 2019语言与智能技术竞赛
- hadoop jar 找不到main class_10年老架构,教你HadoopJob使用第三方依赖jar文件,不来就后悔吧...
- Java数据库的JDBC编程
- oa服务器日常维护,OA系统怎么维护?
- hrbust/哈理工oj 2220 强迫症【思维】
- 系统修复-菜鸟也DIY
- CentOS7.5 远程桌面设置
- Java多线程模拟医院排号叫号系统
- 浏览器被360劫持怎么办
- 华硕ZX53VD笔记本的机械硬盘换成固态硬盘
- 惊闻企业Web应用生成平台 活字格 V4.0 免费了,不单可视化设计器免费,服务器也免费!...
热门文章
- 小爱智能音箱使用体验:外观篇
- linux系统编程---守护进程
- 常见SQL语句(仅供自己复习)
- Java-截取PDF中的某一页作为缩略图
- 《大众创业做电商——淘宝与微店 开店 运营 推广 一册通》一一第2章 电子商务基础...
- 电脑html黑色实心圆点,html5使用canvas画空心圆与实心圆
- leetcode第294场周赛巫师的总力量和——维护前缀和的前缀和
- 台式计算机如何连接投影仪,终极:如何将投影仪连接到笔记本电脑?如何将台式计算机连接到投影仪?...
- mx2 android os耗电,魅族MX2续航能力怎么样
- 简书一下居住证的办理过程