首页 > 分享 > python学习 re正则表达式

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://m.huajiangbk.com/newsview1846465.html

所属分类:花卉
上一篇: “致富金果”猕猴桃,构筑品牌力量
下一篇: “武功猕猴桃”上榜品牌评估价值超