Regex: 0.正则表达式初探
来源:互联网 发布:手机vpn软件 编辑:程序博客网 时间:2024/06/01 16:49
历史:regex的概念在上世纪50年代由数学家提出,Ken Thompson首次将其应用于实际。是一种通用概念,整合进多种语言用来处理字符串数据。*perl似乎对其很重视(过段时间了解一下这种语言)
regex概念:正则表达式是一种对字符串进行操作的逻辑公式,用特定的符号组成符合规则的逻辑公式可以对文本信息进行过滤。
正则表达式 -> 元字符(特殊字符)+文字(普通字符)
在实际语言中,特殊字符是语法,普通字符就是单词。
1.行的起始/结束
^行首
$行末
^cat 行首的字母是c ,后面紧跟着字母at
cat$ 行末的字母是t, 前面紧跟着字母ca
^cat$ 一行只有字母cat,无空格
^$ 空行,无空格及任何字符
2.字符组
[……] 字符组
- (连字符)表示一个范围【字符组元字符,在字符组内有效】
[a-z] 匹配所有的小写字母
3.排除型字符组
[^……] 排除型字符组
[^ ] 排除字符【字符组内有效,字符组外表示行首】
[^a-z] 排除所有的小写字母
3.点号匹配任意字符
. 匹配任意字符,【字符组内为点号】
1.2. 1(任意字符)2(任意字符)
4. 多选结构
| 元字符,把不同的子表达式组合成总表达式,总表达式又可以匹配任意子表达式(匹配的是多个表达式中的一个)
(Geo|Je)ff(re|er)y 匹配Geoffery|goffrey|Jeffrey|Jeffery四个单词
5.单词分界符
\b 元字符,分界单词
\bcat\b 匹配单词cat
6.忽略大小写
7.可选项元素
? 元字符,可选项(问号前面的一个字符可有可无)
(fourth|4(th)?)
8.重复出现量词
元字符前字符可出现的次数
? 单次可选
+ 至少一次
* 任意次可选
9.重复出现次数范围
{min,max} 限定重复出现的次数
[a-zA-Z]{1,5} 所有的一到五个大小写字母的组合的集合
10.括号捕捉功能
( ) 功能:1.限制多选项的范围
2.将若干字符 组合为一个表达式
3.记录子表达式匹配到的文本,perl中将匹配到的文本记录在$1,$2,$3.......等以数字名命名的变量中
11.转义符
\ 跟在它后面的元字符失去意义
- Regex: 0.正则表达式初探
- C++11 Regex正则表达式初探
- 正则表达式初探(Java String regex Grok)
- Regex 正则表达式
- Regex 深入正则表达式
- [RegEx]经典正则表达式
- 正则表达式 Regex Expression
- 4.3 正则表达式Regex
- 正则表达式(Regex类)
- Java regex正则表达式
- c# 正则表达式 regex
- 正则表达式 boost Regex
- 正则表达式入门 Regex
- Java regex 正则表达式
- boost - regex 正则表达式
- java正则表达式(regex)
- Regex正则表达式
- regex.h - 正则表达式
- java web中几个概念的区别
- Linux进程的创建
- 基于struts2的文件上传
- 数据迁移后的迁移结果比对方法
- STM32 RTC 读写不正确
- Regex: 0.正则表达式初探
- VS连接MySQL·:Unable to connect to any of the specified MySQL hosts(VS连接MySQL出错)
- hdu 计算机学院大学生程序设计竞赛(2015’11)搬砖
- java用户角色权限数据库设计
- kettle学习:JsonInput使用
- Android-Android6.0新特性-略讲1
- mysql循环结构
- hdu 计算机学院大学生程序设计竞赛(2015’11)投币洗衣机
- 【HDU5587 BestCoder Round 64 (div1)B】【迭代 前缀和思想】Array 前m个数的二进制中共有多少个1