Grammar-based construction 语法驱动的构造
有一类应用,从外部读取文本数据, 在应用中做进一步处理:
适用场景:
– A file on disk, in which case the specification is called the file format 输入 文件有特定格式,程序需读取文件并从中抽取正确的内容
– Messages sent over a network, in which case the specification is a wire protocol 从网络上传输过来的消息,遵循特定的协议
– A command typed by the user on the console, in which case the specification is a command line interface 用户在命令行输入的指令,遵循 特定的格式
– A string stored in memory 内存中存储的字符串,也有格式需要
三种基本的正则操作:
语法
代码 | 说明 |
---|---|
. | 匹配除换行符以外的任意字符 |
\w | 匹配字母或数字或下划线或汉字 |
\s | 匹配任意的空白符 |
\d | 匹配数字 |
\b | 匹配单词的开始或结束 |
^ | 匹配字符串的开始(在集合字符里[^a]表示非(不匹配)的意思 |
$ | 匹配字符串的结束 |
代码/语法 | 说明 |
---|---|
* | 重复零次或更多次 |
+ | 重复一次或更多次 |
? | 重复零次或一次 |
{n} | 重复n次 |
{n,} | 重复n次或更多次 |
{n,m} | 重复n到m次 |
▪ . any single character
▪ \d any digit, same as [0-9]
▪ \s any whitespace character, including space, tab, newline
▪ \w any word character, including underscore, same as [a-zA-Z_0-9]
▪ \., \(, \), \*, \+, ... escapes an operator or special character so that it matches literally
代码/语法 | 说明 |
---|---|
\W | 匹配任意不是字母,数字,下划线,汉字的字符 |
\S | 匹配任意不是空白符的字符 |
\D | 匹配任意非数字的字符 |
\B | 匹配不是单词开头或结束的位置 |
[^x] | 匹配除了x以外的任意字符 |
Grammar-based construction 语法驱动的构造相关推荐
- 编译原理 实验2 语法分析器的构造
[实验目的] 练习构造语法分析程序的方法,熟悉上下文无关文法的使用,加深对课堂教学的理解:提高词法分析方法的实践能力 [实验要求] 利用某一高级程序设计语言构造语法分析程序 [具体要求]对于给定的文法 ...
- 2020牛客多校第3场:[Points Construction Problem + 思维题+构造]
题目链接 题目大意:就是给你n个边长为1的正方形,要求用这些正方形拼成周长为m的图形,并输出这些正方形的坐标,如果没有输出No 首先如果这些正方形都零散分布那么周长就是4∗n4*n4∗n,如果将这些正 ...
- 编译原理:抽象语法树的构造例题
1) 2) 3)
- 【哈工大软件构造】学习笔记10 第十章、第十一章、第十二章
目录 第十章 面向可维护性的构造技术 1 软件维护和演化 2 可维护性的度量 3 模块化设计和模块性准则 模块划分的五个准则 模块设计的五个原则 耦合度和聚合度 4 OO设计准则:SOLID SRP ...
- HIT软件构造第五章第三节知识点总结
文章目录 三.面向可维护性的构造技术 1.基于状态的编程 A.基于自动机的编程 B.状态模式 C.备忘录模式 2.语法驱动的构造 (1).语法组成 (2).正则语法与正则表达式 (3).java中正则 ...
- [HITSC] 2021期末复习-第九章
CHAPTER 10 面向可维护性的构造技术 摘要:什么是软件维护:可维护性如何度量:实现高可维护性的设计原则:基于语法的构造技术 Software Maintenance and Evolution ...
- R语言数据可视化 ggplot2基础1 ggplot2 图形的分层语法 Layered Grammar 简介
R语言数据可视化 ggplot2基础1 ggplot2 图形的分层语法 Layered Grammar 简介 分层语法的组成(data-stat-geom-scale-coord-facet) 用分层 ...
- (2019春)软件构造:雨课堂试卷(第6章)
目录 6-1 可维护性 单选题 第1题 1分 多选题 第2题 2分 多选题 第3题 2分 单选题 第4题 2分 单选题 第5题 1分 单选题 第6题 1分 6-2 面向可维护性的设计模式 单选题 第1 ...
- (2019春)软件构造:雨课堂试卷(四)(第6章)
文章目录 6-1 可维护性 单选题 第1题 1分 多选题 第2题 2分 多选题 第3题 2分 多选题 第4题 2分 单选题 第5题 1分 单选题 第6题 1分 6-2 面向可维护性的设计模式 单选题 ...
最新文章
- (10)Spring Boot修改端口号【从零开始学Spring Boot】
- Ajax技术应用方面
- CCNP之IS-IS实验
- [mmu/cache]-ARM MMU的学习笔记-一篇就够了
- c 传图片数据给matlab,c++ - 如何通过UDP将数据从C ++应用程序发送到Matlab并进行绘制 - 堆栈内存溢出...
- java同样作用的方法_Java的接口用途和方法
- 【Tensorflow】Tensorflow中的卷积函数(conv2d、slim.conv2d、depthwise_conv2d、conv2d_transpose)
- ubuntu重命名移动硬盘
- 银行科技管理工作优化提升之我见
- python百度知道_用Python写的一个【百度知道】自动点赞
- python从数据库中取出文件保存到excel,csv表格中的办法:
- 六十八个超级经典小故事
- 计算机网络重置,怎么重置电脑网络连接
- 如何让Bing快速收录你的网站?
- 从头到尾彻底理解KMP(转载自July)
- 光线cms,如何增加像百度一样的智能提示
- ctfshow_密码3
- 《改变心理学的40项研究》第一章 生物学与人类行为
- 如何卸载干净JAVA
- 一夜大涨3230亿,苹果市值等于2.5个阿里或16个京东
热门文章
- 微信小程序腾讯服务器地址要购买吗,微信小程序JavaScript SDK
- 高端知识星球正式开放了
- jetson nano 安装乐视的深度相机orbbec
- 卧槽,这个Vue调试神器牛逼!点击页面元素居然能直接打开对应组件文件…
- kjb文件 解析_Python 之父再发文:构建一个 PEG 解析器
- typescript环境配置
- 更改MySQL密码并验证,及使用SQLyog登入MySQ
- 荧光染料Alexa Fluor 647 alkyne/炔基炔烃
- 配分函数|机器学习推导系列(二十六)
- 论文阅读-MLPD:Multi-Label Pedestrian Detector in Multispectral Domain(海康威视研究院实习项目)