python中使用正则
来源:互联网 发布:程序员需要什么学历 编辑:程序博客网 时间:2024/06/05 02:04
先import re
匹配:
re.match(r’\d’,’a123’,re.I)
从头开始匹配,如果从头开始不符合就不会往后搜索,则此例匹配无结果,只匹配一个。
例:
* re.match(r'Hello','Hello,world!',re.I) #返回hello * re.match(r'world','Hello,world!',re.I) #返回None
参数一:是正则表达式,前面的r是防止\转义的,想详细了解的点我
参数二:是被搜索的文本
参数三:是匹配模式,文章最后有参数列表
返回:匹配不到返回None,匹配成功返回object,其方法group()返回匹配到的字符串
匹配规则里如果有括号的话就会分组输出。
例:t=re.search(r’(\d+)-(\d+)’,‘2004-959-559’)
>>> t.group()
‘2004-959’
>>> t.group(0)
‘2004-959’
>>> t.group(1) #一定哟啊注意1的时候才是子串
‘2004’
>>> t.group(2)
‘959’
而吧匹配规则改成r’\d+-\d+’的话再输出t.group(1)就会报错。
搜索:
re.search(r’\d’,’123’,re.I)
扫描整个字符串,直到找到一个匹配的,只匹配到一个就结束,匹配不到也结束。
例:
re.search(r'Hello','Hello,world! Hello,world!',re.I)#返回hellore.search(r'world','Hello,world! Hello,world!',re.I)#返回world
和上面的函数就是搜索方式不一样,参数和输出都一样,
搜索全部:
t=re.findall(r’\d+’,’1-2-3-4’)
以list方式返回所有搜索到的结果
>>> t
[‘1’, ‘2’, ‘3’, ‘4’]
>>> t[0]
‘1’
替换:
num=’2004-959-559 # this is a phone numbe’
num=re.sub(r’#.*$’,”“,num)
参数一 正则表达式
参数二 string替换下来搜索到的文本
参数三 被搜索替换的原文本
返回类型 list
注意前面一定要写一个变量存放替换结果
运行后num=’2004-959-559 ‘
最小匹配:
就是匹配尽可能少的东西
这里是正则表达式里的技巧,当时吃过亏,记在这里。
例:
re.match(r'<.*>',"<a id='big'>my name is LiuJiJiang</a>",re.I)#返回<a id='big'>my name is LiuJiJiang</a>re.match(r'<.*?>',"<a id='big'>my name is LiuJiJiang</a>",re.I)#返回<a id='big'>
就是在.*后加一个? 就可以了。
修饰符
阅读全文
0 0
- python中使用正则
- Python中使用正则表达式
- Python中使用正则表达式
- python中使用 正则表达式
- Python中使用正则表达式
- Python中使用正则表达式
- Python中使用正则表达式
- 在python 中使用正则表达式
- Python中正则表达式的使用
- 【转载】Python中使用正则表达式 详解
- Python 中正则表达式的使用浅析
- Python中正则表达式的使用
- Python中正则表达式的使用
- python-正则匹配在python中使用小练习
- python基础-正则表达式、python使用正则
- python中讲正则
- python中正则表达式
- python中正则表达式
- OSI与TCP/IP模型
- c++分解因数
- 菜鸟学习数据结构算法之路之折半搜索法
- 设置vsftp
- Ubantu16.04配置Matcaffe
- python中使用正则
- HDU1213并查集解题报告
- Storm WordCount 代码
- halcon模板匹配
- SpringMVC基本原理
- 数据中心网络拥塞控制分析之DX
- 排序算法之选择排序--Java语言
- scikit-learn ubuntu安装
- vue学习第23天,抽取模块 mock express