python的基础---常用的正则表达式
"""# 一、re 模块
1、作用:根据规则去匹配字符串
2、表达式:匹配字符串的规则
3、常用方法
findall():【掌握】匹配所有的字符串,把匹配结果作为一个列表返回
match():【不用】匹配字符串的开始位置,如果开始位置没有就返回NOne
search():【不用】在字符串搜索,返回搜索到的第一个
finditer():【不用】匹配所有字符串,返回迭代器
二、正则匹配的分类
1、匹配单字符:每次只匹配一个字符
。:匹配任意字符(除\n以外)
[]:匹配[]中的任意一个字符
\d: 匹配数字
\D: 匹配非数字
\s(小写):匹配空白
\S(大写):匹配非空白
\w(小写):匹配非特殊字符(字符,数字,汉字,_)
\W(大写):匹配特殊字符(-、@#¥)
2、多字符匹配
元字符
*:匹配前一个字符出现0次,或者无限次(贪婪模式)
+:匹配前一个字符出现1次或者无限次[贪婪模式]【1----无限次】
?:匹配前一个字符出现0次,或者1次(非贪婪模式)
{n}:匹配前一个字符连续出现n次
{n,m}:匹配前一个字符连续出现n-m次
3、逻辑运算
|:两个条件进行匹配,或的关系
4、边界值
^:匹配字符串开始的位置
$:匹配字符串结束的位置
5、分组匹配
():只匹配括号里面的
"""
res = "#(.+?)#"
s = "{'moblie_phone':'#moblie_phone#','pwd':'Aa123456'}"
test = re.findall(res, s)
print(test)
python的基础---常用的正则表达式的更多相关文章
- python语法基础-常用模块-re模块
############### re模块 ################ 正则表达式的规则: # re模块 # 正则表达式,就是做字符串匹配的,在re模块出现之前就有这个正则表达式了,任 ...
- python语法基础-常用模块-长期维护
############### 常用模块 ################ # 常用模块: # 1,collections模块 # 2,时间模块,time模块,datatime模块 # ...
- Java 基础 常用API ( 正则表达式,Date类,DateFormat类,Calendar类 )
正则表达式 正则表达式的概念 正则表达式(英语:Regular Expression,在代码中常简写为regex). 正则表达式是一个字符串,使用单个字符串来描述.用来定义匹配规则,匹配一系列符合某个 ...
- python re模块常用的正则表达式
'.' 默认匹配除\n之外的任意一个字符,若指定flag DOTALL,则匹配任意字符,包括换行 '^' 匹配字符开头,若指定flags MULTILINE,这种也可以匹配上(r&qu ...
- python 基础 8.0 regex 正则表达式--常用的正则表达式
一. python 中常用的正则表达式 二. 正则表达式的网站,可以进行在线正则匹配 https://regex101.com/ 1. 使用方法及正则介绍 1> ‘.’ 匹 ...
- 【转载】Python编程中常用的12种基础知识总结
Python编程中常用的12种基础知识总结:正则表达式替换,遍历目录方法,列表按列排序.去重,字典排序,字典.列表.字符串互转,时间对象操作,命令行参数解析(getopt),print 格式化输出,进 ...
- Python编程中常用的12种基础知识总结
原地址:http://blog.jobbole.com/48541/ Python编程中常用的12种基础知识总结:正则表达式替换,遍历目录方法,列表按列排序.去重,字典排序,字典.列表.字符串互转,时 ...
- python基础之 re(正则表达式)模块学习
今天学习了Python中有关正则表达式的知识.关于正则表达式的语法,不作过多解释,网上有许多学习的资料.这里主要介绍Python中常用的正则表达式处理函数. re.match re.match 尝试从 ...
- python 3.x 爬虫基础---常用第三方库(requests,BeautifulSoup4,selenium,lxml )
python 3.x 爬虫基础 python 3.x 爬虫基础---http headers详解 python 3.x 爬虫基础---Urllib详解 python 3.x 爬虫基础---常用第三方库 ...
随机推荐
- PHP观察者模式 (转)
观察者模式(Observer),当一个对象的状态发生改变时,依赖他的对象会全部收到通知,并自动更新. 场景:一个事件发生后,要执行一连串更新操作.传统的编程方式,就是在事件的代码之后直接加入处理逻 ...
- VLAN间路由
三种方式 通过路由器 通过单臂路由(子接口) 通过三层设备三层交换机
- mysql中函数cast使用
CAST函数语法规则是:Cast(字段名 as 转换的类型 ),其中类型可以为: CHAR[(N)] 字符型DATE 日期型DATETIME 日期和时间型DECIMAL float型SIGNED in ...
- Django基础06篇 分页
1.导入Django自带的分页类 from django.core.paginator import Paginator 2.分页类的使用 def index(request): # return H ...
- TestNG基础001
一.什么是TestNG TestNG是一个强大的测试框架,NG是指Next Generation ,被视为是Junit的升级版本 二.TestNG适用范围 Java单元测试 接口测试 web自动化测试 ...
- nodejs安装+vue安装
一.nodejs安装 电脑win7的,nodejs V12.16.2以前的版本支持win7 nodejs下载地址: http://mirrors.nju.edu.cn/nodejs/v12.15.0/ ...
- python pycharm 正则表达式批量替换
{accept:application/json, text/plain, */*,accept-encoding:gzip, deflate, br,accept-language:zh-CN,zh ...
- VS2013产品密钥
VS2013 产品密钥 – 所有版本 Visual Studio Ultimate 2013 KEY(密钥):BWG7X-J98B3-W34RT-33B3R-JVYW9 Visual Studio ...
- Dijkstra和堆优化
Dijkstra算法 由于我之前一直记的迪杰斯特拉的翻译导致我把dijkstra写成了dijstra--所以下文#define dijstra dijkstra 我以后叫她迪杰克斯歘! Dijskra ...
- 高德开放平台实现批量自定义marker和信息窗体显示
上篇博客提到云图无法实现文本标签标记marker,这篇博客着重实现在marker点文本标记以及自定义按钮窗体显示. 1.效果: 2.代码实现 <!doctype html> <htm ...