博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python之re模块
阅读量:4709 次
发布时间:2019-06-10

本文共 1231 字,大约阅读时间需要 4 分钟。

  字符

.    匹配除\n外的任意字符\    转义字符,使后一个字符改变原来的意思[]    字符集(字符类),对应字符集中的任意字符# _*_ coding:utf-8 _*_import remy_str = '''konmgzhagen.com.cn            kongyicheng.com.cn'''# 点不能匹配换行\n(这一条匹配不到)dot = re.search('cn.*kong',my_str).group()# \可将点转成真正的字符Escape = re.search('kong.*\.cn',my_str).group()print Escape# 以o开头,后面是n或m的字符串chartSet = re.search('o[nm]',my_str).group()print chartSet结果:AttributeError: 'NoneType' object has no attribute 'group'kongyicheng.com.cnon

  预定义字符集

\d    数字[0-9]\D    非数字\s     空格       \S    非空格\w    单词字符\W    非单词字符

  数量词

*          匹配前一个字符0或无限次+          匹配前一个字符1或无限次?         匹配前一个字符0或1次{m}        匹配前一个字符m次{m,n}      匹配前一个字符m到n次

  边界匹配

^     匹配字符串开头$     匹配字符串结尾\A    仅匹配字符串开头\Z    仅匹配字符串结尾

  常用的re模块方法

re.match()    从字符串的开头匹配,匹配一次re.search()    从字符串的任意位置开始匹配,匹配一次re.findall()     从字符串的任意位置开始匹配,返回一个列表re.finditer()   从字符串的任意位置开始匹配,返回一个迭代器,适合大数量的匹配
# _*_ coding:utf-8 _*_ import re my_str = 'I am python modules test for re modules am' print re.match('I am',my_str).group() print re.search('am',my_str).group() print re.findall("modules",my_str) for e in re.finditer("modules",my_str):     print e.group() 结果

I am

am
['modules', 'modules']
modules
modules

  

转载于:https://www.cnblogs.com/kongzhagen/p/6291992.html

你可能感兴趣的文章
二分图最大匹配算法-Hopcroft-Karp模板
查看>>
发布和订阅的删除
查看>>
使用LinQ进行增删改查
查看>>
关于iOS适配问题
查看>>
C语言博客作业--嵌套循环
查看>>
内部类 ( Inner Class )
查看>>
Linux 使用者 群组 权限
查看>>
【PAT】B1047 编程团体赛(20 分)
查看>>
iPad软件提交注意事项
查看>>
约束和异常处理
查看>>
css 布局
查看>>
RESTful风格化
查看>>
C# 多线程学习系列二
查看>>
如何将你的github仓库部署到github pages(转)
查看>>
几个重要的shell命令:diff patch tar find grep
查看>>
学习笔记
查看>>
JS ES6 -- let命令
查看>>
查找空座位问题
查看>>
几个简单规则改进你的SEO效果
查看>>
UVA10820 Send a Table
查看>>