正则表达式学习3
来源:互联网 发布:数据库电子书下载 编辑:程序博客网 时间:2024/06/06 10:50
边界与量词
- 行或者字符串的起始与结束位置
- 单词边界(两种)
- 量词特性
- 量词实例
行的起始与结束
- 输入:^
匹配行或者字符串的起始位置。有的时候会匹配整个文档的起始位置(看你使用的工具搜索方式)。 - 输入:$
匹配行或者字符串的结尾位置
单词边界与非单词边界
- 输入:\bTHE\b
\b为零宽度断言(看起来不存在)即它会匹配空格或者行起始。 - 输入:\BTHE\B
匹配非单词边界,非单词边界为除单词边界之外的,比如1e3。匹配了e
量词
量词的特性
- 贪心
首先匹配整个字符串。尝试匹配时,它会选定尽可能多的内容,即整个输入。贪心过程会回朔,回朔即首次尝试整个整个字符串,若失败就回退一个字符后再尝试。 - 懒惰
它从目标的起始位置开始尝试寻找匹配,每次检查字符串的一个字符,寻找匹配它要的内容。最后,尝试匹配整个字符串。使一个量词成为懒惰,必须在普通量词后添加一个问号(?)。它每次吃一点 - 占有
会覆盖整个目标后尝试寻找匹配内容。但是它尝试一次,不会回朔。一般是在普通量词后添加一个加号(+)。不咀嚼,直接吞。
基本量词
- ? 懒惰量词 零个或者一个(可选)
- + 占有量词 一个或者多个
- 贪心量词 零个或者多个
实例:
888888
9999999
0000000000输入: .*
它以贪心方式匹配文本中所有字符,所有(8和9)。点号表示任意字符- 输入: 9*
它匹配9那行,匹配9零次或者多次 - 输入: 9.*
它匹配9和0那行,匹配9到后面.的数字。 - 输入: 9+
它匹配9那行,因为+表示一次或者多次 - 输入: 9?
它匹配9那行的第一个9(第一次出现了匹配)。 - 输入: 99?
它匹配第一个9和第二个9。
匹配特定次数
使用花括号可以限制某个范围内匹配的次数,未经修饰的量词就是贪心量词。
- 输入:7{1}
会匹配第一次出现的7 输入:7{1,}
会匹配一个或者对个7由上知:7+和7{1,} 7*与7{0,} 7?和7{0,1}效果都是一样
- 输入:匹配m到n次
比如7{3,5}会匹配7,三个、四个及五个
总结 - {n} 精确匹配n次
- {n,} 匹配n次或者更多次
- {m,n} 匹配m至n次
- {0,1} ?相同
- {1,} +相同
- {0,} *相同
懒惰量词
语法:?? 描述:懒惰匹配零次或一次(可选)
实例:5? 匹配一个5 5??:不匹配任何内容,多加一个?使得模式变得懒惰,尽可能匹配少的字符语法:+? 描述:懒惰匹配一次或者多次
实例:5+? 只匹配一个5语法:*? 描述:懒惰匹配零次或者多次
实例:5*? 不匹配任何内容,因为它选择匹配最少的次数——零次语法:{n}? 描述:懒惰匹配n次
- 语法:{n,}? 描述:懒惰匹配n次或者多次
- 语法:{m,n}? 描述:懒惰匹配m至n次
实例:5{2,5}? 只匹配两个5
占有量词
0 0
- 正则表达式学习3
- 正则表达式学习3
- 正则表达式学习笔记3
- 《学习正则表达式》(3)
- 正则表达式口诀 正则表达式学习工具
- 正则表达式学习(一)认识正则表达式
- Shell 学习3(正则表达式)
- php学习笔记之正则表达式3
- 正则表达式学习笔记3-练习
- 正则表达式学习笔记
- 正则表达式学习笔记
- 正则表达式学习笔记
- 正则表达式学习笔记
- 学习正则表达式
- 正则表达式学习日记
- 正则表达式学习
- 学习正则表达式
- 正则表达式学习
- ZooKeeper系列之四:ZooKeeper的配置
- 递归方法:例题
- Invoke()/BeginInvoke()区别
- Android ble 4.0相关知识总结
- ROS 监控制线程通过setDaemon 设置为随启动线程退出
- 正则表达式学习3
- List、Set、Map、数组之间各种转换
- 学习unity遇到的问题
- char *a 与char a[] 的区别
- Leetcode (307) Range Sum Query - Mutable
- 37. Sudoku Solver(dfs)
- 计算机硬件架构示意图
- 欢迎使用CSDN-markdown编辑器
- hdu5438 dfs+拓扑排序+前向星