内置的re模块
re(正则表达式)
字符匹配:
普通字符匹配:re.findall("alex","shfalexjaf"),直接查找符合的字符
元字符: . ^ $ * + ? {} [] () | \
import re
re.findall("alex","asfjsuisjafjxds") #完全匹配
re.findall("a..x","asfjsuisjafjxds") #通配符 . 一个点代表一个任意字符,模糊匹配,注意不能匹配\n
re.findall("^a..x","asfjsuisjafjxds") # ^ 只从开头寻找匹配,第一个字符找不到对应的则为空
re.findall("a..x$","asfjsuisjafjxds") # $ 只看末尾是否有匹配的
re.findall("d*","asdddddddddddghiu") # * 重复多次(0-∞)匹配这个字符,匹配不上返回空
re.findall("alex+","sdfalexxxxxgs") # + 重复多次(1-∞)匹配
re.findall("alex?","sdfalexxxxxgs") # ? 只取(0,1)个
#注意 * , + , ? 这个三个多次匹配的区别,* 可以匹配 0个 ,+ 必须最少匹配1个
# ? 还有一个作用 ,将贪婪匹配变成惰性匹配,惰性匹配,按最少的次数匹配,如“alex*?”这个就只做0次匹配
# 而{}可以自己设置匹配多少次如{2,5}等
re.findall("x[yz]p","sddxypsfxzpd") #[] 放在这里的字符有一个满足匹配就可以,是一个或的作用
re.findall("x[a*z]","sdxfpfhjxzpfgk") #在元字符【】中没有特殊字符,这里*不代表匹配多次a
re.findall("x[a-z]","sdxfpfhjxzpfgk") #【】这个字符集中只有 - ,^ , \ 这三个有正常功能
re.findall("x[a-z]*","sdxfpfhjxzpfgk")
re.findall("x[^a-z]","sdxfpfhjx32gk") #【】字符集中加上 ^ ,此时这个不在表示开头匹配,而表示非

"""
反斜杠后边跟元字符去除特殊功能,比如\. 反斜杠后边跟普通字符实现特殊功能,比如\d
\d 匹配任何十进制数;它相当于 [0-9]。
\D 匹配任何非数字字符;它相当于 [^0-9]。
\s 匹配任何空白字符;它相当于 [ \t\n\r\f\v]。
\S 匹配任何非空白字符;它相当于 [^ \t\n\r\f\v]。
\w 匹配任何字母数字下划线字符;它相当于 [a-zA-Z0-9_]。
\W 匹配任何非字母数字下划线字符;它相当于 [^a-zA-Z0-9_]
\b 匹配一个特殊字符边界,比如空格 ,&,#等
"""

#re模块的方法
re.findall("a","fhajsaja") #匹配所有符合的内容,并将结果返回到一个列表中
re.search("a","sjasfaska") #匹配到第一个内容就返回结果,注意这个返回的是一个对象,需要用group()方法调用
re.match("a","askfjl") #同search,但是匹配开头第一个是否符合
re.split("[ |]","hello abc|def") #分割,可以按照多个字符进行分割
re.split("[ab]","asdabcd") #按照顺序依次分割,注意当左边不存在字符时分割它会出现空字符
re.sub("\d+","AA","sajf23af22sj") #替换,需要三个参数,(匹配规则,替换的字符,原字符串)
re.sub("\d","A","ssf23shf45lk2",3) #第四个参数是匹配替换多少次
re.subn("\d","A","ssf23shf45lk2") #统计匹配替换的次数
res = re.compile("\d") #编译一个规则,下次可以直接用编译好的规则
res.findall("sfkla23jak1j42lk2")
re.finditer("\d","as23ha24ah5a") #得到的是一个迭代对象,调用时next().group() re.findall("www\.(baidu|163)\.com","aswww.baidu.comaf") #findall()优先给出组内的结果,而不是全部的匹配结果
re.findall("www\.(?:baidu|163)\.com","aswww.baidu.comaf") #在组()内加上?:表示取消优先级
内置的re模块的更多相关文章
- Filebeat使用内置的mysql模块收集日志存储到ES集群并使用kibana存储
Filebeat内置了不少的模块,可以直接使用他们对日志进行收集,支持的模块如下: [root@ELK-chaofeng07 logstash]# filebeat modules list Enab ...
- Python内置的urllib模块不支持https协议的解决办法
Django站点使用django_cas接入SSO(单点登录系统),配置完成后登录,抛出“urlopen error unknown url type: https”异常.寻根朔源发现是python内 ...
- Python内置的操作系统模块(os)与解释器交互模块(sys)
Python内置的操作系统模块(os)与解释器交互模块(sys) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本片博客只介绍Python调用操作系统的模块即os模块,以及Pyth ...
- day15 内置函数和模块
day15 内置函数和模块 1.三元表达式 代码如下: x = 1 y = 2 res = 'ok' if x > y else 'no' print(res) 输出结果:no 2.内置函数:重 ...
- Nginx-解读内置非默认模块 ngx_http_stub_status_module
1.Background ngx_http_stub_status_module 是一个 Nginx 的内置 HTTP 模块,该模块可以提供 Nginx 的状态信息.默认情况下这个模块是不被编译进来的 ...
- Nginx解读内置非默认模块 ngx_http_stub_status_module
1 Background http://nginx.org/en/docs/http/ngx_http_stub_status_module.html ngx_http_stub_status_mod ...
- python内置函数 和模块函数总结
1.内置函数(无需导入)long() 函数将数字或字符串转换为一个长整型.len() 统计元素个数print() 打印,输出input() 输入,或阻塞程序运行type 获取类型range 产生连续的 ...
- Python基础-内置函数、模块、函数、json
内置函数 1.id()返回对象的内存地址: 2. type() 返回对象类型: 3.print()打印输出: 4. input()接受一个标准输入数据,返回为string类型: 5. list() ...
- Django内置的分页模块
自定义分页 未封装版: 优点:直观 缺点:代码乱,不易维护,可拓展性差 data = [] for i in range(1, 302): tmp = {"id": i, &quo ...
- 解剖Nginx·模块开发篇(5)解读内置非默认模块 ngx_http_stub_status_module
1 Background ngx_http_stub_status_module 是一个 Nginx 的内置 HTTP 模块,该模块可以提供 Nginx 的状态信息.默认情况下这个模块是不被编译进来的 ...
随机推荐
- Vue中computed、methods、watch的联系和区别
computed是计算树形,methods是方法. new Vue({ el: '#example', data: { message: 'Hello' }, computed: { reversed ...
- 多层全连接神经网络实现minist手写数字分类
import torch import numpy as np import torch.nn as nn from torch.autograd import Variable import tor ...
- tp5 select
tp5 select出来的数据 和tp3.2select出来的数据 不一样, tp5 select出来的数据 含有很多我们不需要的东西,让我们小菜鸟看的很痛苦 解决办法 $date是查询出来的结 ...
- Linux轻量级自动运维工具-Ansible浅析 转
转自 Linux轻量级自动运维工具-Ansible浅析 - ~微风~ - 51CTO技术博客http://weiweidefeng.blog.51cto.com/1957995/1895261 Ans ...
- mysql数据库连接错误10060
今天在使用mysql数据库的时候,出现错误ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10060) 我在网上一顿 ...
- WPF使用BindingListCollectionView 和 ListCollectionView 视图排序集合
当将一个集合或DataTable绑定到ItemsControl控件时,在后对台会自动地创建数据视图,这个视图位于数据源和绑定的控件之间,数据视图是进行数据源的窗口.它跟踪当前项,并且提供各种功能,如排 ...
- c++ 读取 utf-8 文件到 string
#include <iostream> #include <assert.h> #include <fstream> #include <string> ...
- CSS3——对齐 组合选择符 伪类 伪元素 导航栏 下拉菜单
水平&垂直对齐 元素居中对齐 .center { margin: auto; width: 50%; border: 3px solid green; padding: 10px; } 文本 ...
- Scratch少儿编程系列:(五)猜数字
一.程序说明: 程序生成1-100之间的随机数,如56,小明在输入框中输入猜的数字.如输入80,提示“猜大了”,如输入45,则提示“猜小了”. 不超过5次猜中,则成功,否则失败. 二.程序的流程图 为 ...
- Kubernetes服务部署解决方案
学习了K8S的基础知识,我们的目的就是解决我们服务的迁移,那么接下去通过几个案例来感受一下K8s部署带来的便捷与效率. 环境准备: 3个节点,然后我这边也安装了 Ingress. 部署wordpres ...

