正则表达实例
来源:互联网 发布:sftp端口udp 编辑:程序博客网 时间:2024/05/21 12:49
推荐博客
1
import res='1021533940@qq.com'r = re.findall('^\d{9,11}@(?:qq|pp|aa)\.(?:com|sina|cn)$',s)print r['1021533940@qq.com']注:使用了非捕获组(?:xx|yy)
2
import res='1021533940@qq.com'r = re.findall('^(\d{9,11}@(qq|pp|aa)\.(com|sina|cn))$',s)print r[('1021533940@qq.com', 'qq', 'com')]注:使用了捕获组(),编号规则是以“(”从左到右出现的顺序,从1开始进行编号。通常情况下,编号为0的组表示整个表达式匹配的内容。
3
import res='1021533940@qq.com'r = re.findall('^102|com$',s)print r['102', 'com']注:^ $ 匹配首尾,当一个字符串的某一子串具有多种可能时,采用分支结构来匹配,“|”表示多个子表达式之间“或”的关系,“|”是以()限定范围的,如果在“|”的左右两侧没有()来限定范围,那么它的作用范围即为“|”左右两侧整体。
4
import res='1021533940@qq.com'r = re.findall('^(102|com)$',s)print r[]注:当^ $同时存在时要匹配的为中间内容必须满足的形式,所以为空
5.
import res='aa<div>test1</div>bb<div>test2</div>cc'r = re.findall('<div>.*?</div>',s)print r['<div>test1</div>', '<div>test2</div>']注:此为非贪婪正则表达式二采用的是非贪婪模式,在匹配到第一个“</div>”时使整个表达式匹配成功,由于采用的是非贪婪模式,所以结束匹配,不再向右尝试,匹配结果为“<div>test1</div>”。
6
import res='aa<div>test1</div>bb<div>test2</div>cc'r = re.findall('<div>.*</div>',s)print r['<div>test1</div>bb<div>test2</div>']注:此为贪婪在匹配到第一个“</div>”时已经可以使整个表达式匹配成功,但是由于采用的是贪婪模式,所以仍然要向右尝试匹配,查看是否还有更长的可以成功匹配的子串,匹配到第二个“</div>”后,向右再没有可以成功匹配的子串,匹配结束,匹配结果为“<div>test1</div>bb<div>test2</div>”
7
import res='qqq11111qqq11qqq11111qqq'r = re.findall('[^\d]+\d*[^\d]+',s)print r['qqq11111qqq', 'qqq11111qqq']注:注意字符的站位http://www.jb51.net/article/73403.htm
0 0
- 正则表达实例
- 正则表达
- 正则表达
- 正则表达
- 正则表达
- 正则表达
- 正则表达
- 正则表达
- 正则表达
- 正则表达
- 正则表达
- 正则表达
- 正则表达
- 正则表达
- 正则表达
- 正则表达
- javascript 高级程序设计(一) 正则表达 RegExp实例属性
- 正则表达备
- 网络编程——TCP文件传输
- 汇编语言编程作业——第四章
- 18岁生日
- [FineReport]图形化显示数据(进度条/等级)CSS
- Jni基础开发入门(六)
- 正则表达实例
- 在Swift中使用遗留的C API-指针篇
- Swift 中的指针使用
- 关于Windows系统无法定位程序输入点ucrtbase.terminate的错误
- jsp登陆校验演示,servlet,login,success
- 【Spring】Spring高级话题-@Enable***注解的工作原理
- 血压正常范围是多少
- 实验3 Android数据存储和访问-登录记住密码功能
- BeautifulSoup 爬虫