正则表达式
来源:互联网 发布:亨德尔 水上音乐 知乎 编辑:程序博客网 时间:2024/06/06 07:10
每一个成功者都有一个开始。勇于开始,才能找到成功。
本讲内容:正则表达式
一、正则表达式介绍
主要用于字符串的模式分割、匹配、查找及替换操作。
二、正则表达式与通配符的区别
正则表达式是包含匹配(只要含有就列出),通配符是完全匹配。
1、通配符
* 匹配任意内容(任意多个字符)
? 匹配任意一个内容
[] 匹配中括号中的一个字符
三、基础正则表达式的元字符
1、* 前一个字符匹配0次或任意多次
譬如: a* 匹配所有内容,包括空白行(类似于通配符*)
aa* 匹配至少包含有一个a的行
aaa* 匹配至少包含两个连续a的字符串
2、. 匹配除了换行符外任意一个字符(相当于通配符?)
譬如:s..d 会匹配在s和d这两个字母之间有两个字符的单词
s.*d 匹配在s和d字母之间有任意字符
.* 匹配所有内容(相当于通配符*)
3、^ 匹配行首,$ 匹配行尾
譬如:^M 匹配以大写"M"开头的行
n$ 匹配以小写"n"结尾的行
^$ 匹配空白行
4、[] 匹配中括号中指定的任意一个字符,只匹配一个字符
譬如:[aoeiu]匹配任意一个元音字母,[0-9]匹配任意一个数字,[a-z][0-9]匹配小字字母和一位数字构成的两位字符
5、[^] 匹配除中括号的字符以外的任意一个字符。
譬如:[^0-9]匹配任意一位非数字字符,[^a-z]表示任意一位非小写字母字符
^[^a-z] 匹配不用小写字母开头的行,^[^a-zA-Z] 匹配不用字母开头的行
6、\ 转义符 用于取消其特殊符号的含义,使其成为一个普通的字符
譬如:\.$ 表示以'.'结尾的行
7、\{n\} 表示其前面的字符恰好出现n次
譬如:[0-9]\{4\}匹配4位数字,[1][3-8][0-9]\{9\}匹配手机号码
8、\{n,\} 表示其前面的字符出现不小于n次,
譬如:[0-9]\{2,\}表示两位及两位以上的数字
9、\{n,m\}表示其前面的字符至少出现n次,最多出现m次。
譬如:[a-z]\{6,8\}匹配6到8位的小写字母
示例:
匹配手机号码:[1][3-8][0-9]\{9\}
匹配日期格式:[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}
匹配IP地址:[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}
- 【正则表达式】正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 跨应用发送和接受广播
- group by 的使用
- 重要的开源资源及50个c/c++源代码网站
- 前端面试 - Http Session问题,记录我愚蠢的回答=。=
- C++第五章作业
- 正则表达式
- Android 实现监听开机启动开启后台服务,并实现自动重启。
- POJ 2367 拓扑排序
- 第十四周项目1-3:统计字符个数
- 机器学习算法中如何选取超参数:学习速率、正则项系数、minibatch size
- Java堆,方法区,Java栈和本地方法栈浅析
- 一道题目理解js中变量在作用域链与原型链中的查找顺序
- hihocode 第五十周 欧拉路·二
- watch-3D.app开发经验(1)