python学习 re正则表达式
最新推荐文章于 2024-12-08 17:13:32 发布

frank_zyp 于 2018-10-31 14:27:21 发布
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
一、正则的常用符号:
. 匹配任一字符,换行符n除外
* 匹配前一个字符0次或无限次
? 匹配前一个字符0次或1次
.* 贪心算法(尽可能多的匹配)
.*? 非贪心算法(尽可能少的匹配)
() 括号内的数据作为结果返回
二、正则表达式:
w匹配字母数字及下划线W匹配非字母数字及下划线s匹配任意空白字符,等价于 [tnrf].S匹配任意非空字符d匹配任意数字,等价于 [0-9].D匹配任意非数字A匹配字符串开始Z匹配字符串结束,如果是存在换行,只匹配到换行前的结束字符串。z匹配字符串结束G匹配最后匹配完成的位置。b匹配一个单词边界,也就是指单词和空格间的位置。例如, 'erb' 可以匹配"never" 中的 'er',但不能匹配 "verb" 中的 'er'。B匹配非单词边界。'erB' 能匹配 "verb" 中的 'er',但不能匹配 "never" 中的 'er'。n, t, 等.匹配一个换行符。匹配一个制表符。等1...9匹配第n个分组的内容。10匹配第n个分组的内容,如果它经匹配。否则指的是八进制字符码的表达式。三、函数的用法
1、检索和替换
Python 的 re 模块提供了re.sub用于替换字符串中的匹配项。
re.sub(pattern, repl, string, count=0, flags=0)pattern : 正则中的模式字符串。repl : 替换的字符串,也可为一个函数。string : 要被查找替换的原始字符串。count : 模式匹配后替换的最大次数,默认 0 表示替换所有的匹配。
如下替换如下url中的第一个数字2为3:
import re
url = "http://search.chinahr.com/sh/job/pn2/?key=%E9%87%91%E8%9E%8D"
newurl = re.sub('d+','3',url,count=1)
print newurl
2、findall 方法
match 和 search 方法都是一次匹配,只要找到了一个匹配的结果就返回。然而,在大多数时候,我们需要搜索
整个字符串,获得所有匹配的结果,这时需要用到findall:
findall(pattern,string)
如下一个匹配对应网页中数字的实例:
import re
str = "http://maoyan.com/films?showType=1&offset=0"
num = re.findall('d+Z' ,str)[0]
print(num)
作者:frank_zyp
您的支持是对博主最大的鼓励,感谢您的认真阅读。
本文无所谓版权,欢迎转载。
相关知识
正则表达式(regex)实现模式匹配
6个值得玩味的Python代码
老鸟的Python入门教程
揭秘Python编程下的音乐排行榜:如何用代码解锁流行音乐趋势?
文本的清洗和标准化:如何处理混乱的数据?
科学网—为什么生态学家要学习Python或者R?
linux shell 正则表达式(BREs,EREs,PREs)差异比较
替换=(等于号)正则表达式
Python机器学习基础教程
Python 机器学习 K
原文链接: python学习 re正则表达式 https://www.huajiangbk.com/newsview1846465.html
| 上一篇: “致富金果”猕猴桃,构筑品牌力量... | 下一篇: “武功猕猴桃”上榜品牌评估价值超... |





