re正则匹配模块_python,,一、re模块1、模块
re正则匹配模块_python,,一、re模块1、模块
一、re模块
1、模块功能
通过re模块的接口接入正则表达式语言,主要用于匹配字符串。
2、正则表达式元字符以及意义
. 代表任意一个字符(除了换行符\n)
^ 以什么开头
$ 以什么结尾
* 重复匹配*前面的字符出现0到多次 【0,正无穷】
+ 重复匹配+前面的字符1到多次【1,正无穷】
? 重复匹配?前面的字符0或1次【0,1】
{数字} 代表前面的匹配次数,如‘b{3}‘
[] 代表字符集中的字符,或的关系,如‘[a-z]‘,还有取消元字符意义的特殊功能,
如‘[^123]‘,^放在[]里的最前面,代表取反。
如[1-5],-放在[]里面,代表一个范围
\与普通字符,代表一定意义如[\d],具体代表意义如下;(但\与特殊自字符,取消特殊性,如[\^])
\d 匹配所有的数字,相当于[0-9]
\D 匹配非数字字符,相当于[^0-9]
\w 匹配数字字母下划线,相当于[0-9a-zA-Z_]
\W 匹配非数字字母下划线,相当于[^0-9a-zA-Z_]
\s 匹配任意空白符(空格,换行,回车,换页制表符)相当于[ \f\n\r\t]
\S 匹配任意非空白符,相当于[^ \f\n\r\t]
\A 匹配字符串开始,和^区别:\A只匹配行首,在re.M下也不匹配他行行首
\Z 匹配字符串结束,和$区别:\Z只匹配结束,在re.M下也不匹配他行结束
\b 匹配单词的边界,空格之间
\B 匹配非单词的边界,空格之间
() 做分组,弄成整体字符组进行匹配,如‘(bs)‘
添加组名分组:根据组名查出
查找网址的例子:
import re
print(re.findall(‘www.(\w+).com‘,"www.baidu.com")) #[‘baidu‘],得出中间结果
print(re.findall(‘www.(?:\w+).com‘,"www.baidu.com")) #[‘www.baidu.com‘],得出所有结果
3、模块的方法
findall():所有结果都返回到一个列表里
search():返回匹配到的第一个对象(object),可以调用group()方法返回结果
print(re.search(‘www.(\w+).com‘,"www.baidu.com").group())
match():只在字符串开始匹配,只匹配开头符不符合。也是返回一个对象,也用group()返回结果。
split() :分割字符串
print(re.split(‘k‘,‘sdfkwerkryy‘)) #[‘sdf‘, ‘wer‘, ‘ryy‘]
sub("替换前","替换后","替换的字符串",替换多少个(不写默认全部替换))
print(re.sub(‘chen‘,‘peng‘,‘chenxiaozanchen‘,1)) #pengxiaozanchen
compile():提高一点点效率,编译规则,再调用
finditer() : 得到的结果不是放到list,而是迭代器
.
re正则匹配模块_python
相关内容
- Python--递归 斐那锲波,,迭代实现def fa
- python两种生成md5的方法,,一. 使用md5包i
- 冒泡排序(bubble_sort)——Python实现,,#冒泡排序#作用
- python中检测mysql的主键唯一性异常,,有两种方法:1.直
- python基础知识 05 python语言中的大整数,,第五课 python
- Python 字典 len()方法,,描述Python 字
- Python(64)_写函数,判断用户传入的值(字符串,列表,
- python 将IP地址转换成打包后的32位格式,,python 2.7
- Python 基础之模块之os os.path 及os与shutil对比,,一:os 对系
- python抓取jenkins slave总数、online数、offline数写道mysql并展
评论关闭