正则表达式
来源:互联网 发布:大数据及云计算前景 编辑:程序博客网 时间:2024/06/05 15:43
正则表达式
正则表达式是含有文本和特别字符的字符串,是一种字符串检索引擎,最早起源于unix。
unix下的正则表达式引擎 awk grep egrep
ls -l|grep 正则表达式、查看条件筛选的文件'[A-Za-z]\w+' 第一个字符是字母,后面至少跟一个或多个由字母或者数字组成的字符。'\w+@\w+\.com' 一个简单电子邮件地址的正则表达式
正则的几个特殊符号和字符
[0-9] 或 \d 表示全部数字 [1-3] 表示1-3的数字[x-y] 表示匹配字符x到y的任意一个字符。\w 表示单词类字符 a-z A-Z 0-9 _\W 表示非单词类字符^ 匹配字符串的开始 ^From 匹配以From开头的字符串,[]里面的^表示 非。% 匹配字符串的结尾{n} 前面的表达式匹配n次 {2}{m,n} 前面的表达式匹配m到n次 [0,9] {15,16} 15或16位的数字表示。+ 前面的表达式,出现1到无限次 最少,出现1次(正闭包操作符)? 前面的表达式,出现0到1次 最多,出现1次* 前面的表达式,出现0到无限次,出现不出现,都没关系(Kleeme闭包操作符)| 管道符号,匹配多个正则表达式。或操作(或者说联合). 匹配任意一个单个字符(除换行符) 如 f.o 匹配 fao,fbo,f1o等。如果要匹配逗号,需要在前面家转义符\() 对正则表达式进行分组,
python里的正则模块(re)及其基本操作
import rehelp(re)
一次匹配
match:"hello lilei" r'(\w+) (\w+)' ,成功返回一个匹配对象,失败则返回None。print re.match(r'\d$','4') #$表示完全匹配,即匹配到结尾。print re.match(r'\d*$','333444')
search()在一个字符串中查找一个模式:
print re.match(r'foo','seafood’) #匹配失败print re.search(r'foo','seafood') #搜索成功
切割split() 和字符串的split类似,但更强大。
e = 'a1b2c3d4e're.split(r'\d',e) #以数字来切割,得到字母的列表
findall():在目标字符串中查找符合规则的字符串
findall(rule , target [,flag] )
第一个参数是规则,第二个参数是目标字符串,后面还可以跟一个规则选项。返回结果结果是一个列表,中间存放的是符合规则的字符串。如果没有符合规则的字符串被找到,就返回一个空列表。
re.findall('car','carry the barcardi to the car') #输出['car','car','car']列表
finditer():返回一个迭代器
finditer函数和findall函数的区别是,findall返回所有匹配的字符串,并存为一个列表,而finditer则并不直接返回这些字符串,而是返回一个迭代器。
import re s='111 222 333 444' for i in re.finditer(r'\d+' , s ): print i.group(),i.span() #打印每次得到的字符串和起始结束位置
0 0
- 【正则表达式】正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 怎么设置类似于drawableTop的图片大小
- 免费的论文查重网站
- 【nodejs】async
- 解决 Android WebView 文本框获取焦点后自动放大问题
- 使用Git Hooks实现开发部署任务自动化
- 正则表达式
- Spring声明式事务机制详解
- pdf文档解析
- 机器学习的损失函数
- 循环删除List元素方法
- Android学习笔记之基础绘图类
- 手机、AI、VR、无人机、智能汽车等8大行业中的智能传感器是怎样运作的?
- 关于webstorm 对 vue的设置
- 编程思想:我现在是这样编程的