python学习Day25--正则表达式1
【知识点】
# 所有模块要经历的两个步骤:
① 要操作的概念本身:正则表达式 时间
② 使用模块取操作它:re time
1、正则表达式:一种匹配字符串的规则
# 正则表达式能做什么?可以定制一个规则来确认某一个字符串是否符合规则,从大段的字符串中找到符合规则的内容
# 程序领域:
① 登录注册页的表单验证
② 爬虫:把这个网页下载下来,从里面提取一些信息,找到想要的所有信息,做到数据分析
③ 自动化开发
# 正则表达式是一种独立的语法,和python没有关系
# 一个正则表达式学习的小工具:http://tool.chinaz.com/regex/
2、正则表达式的语法
(1)元字符
① 字符组[ ] 在一个字符的位置上能出现的内容(比如[1bc] ,一个位置上可以是1,b,c三者中任意一个)
【注意1】字符组的理解1:[1-9]表示1到9,下面出现1~9的数字均标记(匹配1个)
【注意2】字符组的理解2:[1-9][A-Z][a-z]表示第一个必须是数字,第二个必须是大写字母,第三个必须是小写字母,并且三个在一起。(匹配3个)
【注意3】字符组理解3:[1-9A-Za-z]表示第一个位置可以是1~9,也可以是A~Z和a~z,因此以下全匹配。(匹配1个)
② 元字符:
\d == [0-9]——表示匹配一个字符,匹配的是一个数字
\w == [0-9a-zA-Z]——表示匹配一个数字、字母、下划线
\s == [\n \t ]——表示匹配任意的空白符,包括回车、空格和制表符tab
\n —— 匹配回车
\t —— 匹配制表符
\D ——匹配非数字
\W ——匹配非数字字母下划线
\S ——匹配非空白符
【注意】[\d\D]——表示匹配全局(所有),还有[\w\W]、[\s\S]
★非常重要的两个:
^ ——匹配字符串的开始
$ ——匹配字符串的结尾
比如,严格匹配一个手机号,多输入少输入都不行,就在前加^,后加$。
a|b——表示a或b,在一个位置上可以出现a或b。(abc|ab——表示匹配abc或ab,但长的要放在前面)
[^abc]——表示匹配除了abc以外的任意字符
. ——表示匹配除了换行符以外的任意字符
(2)量词
\d{3} ——表示前面匹配的数字重复三次
\d\d{3} ——表示第一个只匹配一个数字,第二个匹配三次,最后是四个数字
\d{3,} ——表示至少匹配数字三次(尽量多的匹配——贪婪匹配)
\d{3,5} ——表示至少匹配数字三次,最多匹配五次(尽量多匹配)
\d? ——表示匹配数字零次或一次(相当于没有匹配上也算成功)(\d\.?\d——结果可以有:2.3 23)
\d+——表示匹配数字一次或者多次
\d* ——表示匹配数字零次或多次(\d\.?\d*——结果可以有:2 2.22 2.3457767)
(3)* + ? { }
【注意】 特殊用法:
① 在量词后跟了一个? ——表示取消了贪婪模式,变成非贪婪模式
李.{1,3}?和 李连营和 (惰性匹配 回溯算法)
② 最常用: .*x 匹配任意字符直到找到一个x
(4)分组()与或 | [^]
# 小数或者整数的正则表达式——\d+(\.\d+)?
参考资料:https://www.cnblogs.com/Eva-J/articles/7228075.html
时间:2020-02-19 14:23:58
python学习Day25--正则表达式1的更多相关文章
- python学习day25 正则表达式
4.30-25 正则表达式与re模块 re模块本身是用来操作正则表达式,与正则本身没有关系 正则表达式是指一规则,匹配字符串的规则 1.正则表达式regex 正则表达式regex是指一规则,匹配字符串 ...
- [Python学习笔记]正则表达式总结
常用缩写字符及其含义表格查询 缩写字符分类 含义 \d 0-9的任意数字 \D 除0-9的数字以外的任何字符 \w 任何字母.数字或下划线字符(可以认为是匹配"单词"字符) \W ...
- Python学习 之 正则表达式
1.简单的正则表达式 import re s=r'abc' re.findall(s,"aaaaaaaaaaaaaaa") #结果为[] re.findall(s,"ab ...
- Python学习笔记——正则表达式入门
# 本文对正则知识不做详细解释,仅作入门级的正则知识目录. 正则表达式的强大早有耳闻,大一时参加一次选拔考试,题目就是用做个HTML解析器,正则的优势表现得淋漓尽致.题外话不多讲,直接上干货: 1. ...
- Python学习--16 正则表达式
正则表达式是一种描述性的语言,用来匹配字符串.凡是符合规则的字符串,我们认为就是匹配了. 正则表达式并非Python独有的,它与语言无关.很多语言都支持正则表达式. 我们经常用正则表达式来匹配电子邮件 ...
- python学习日记(正则表达式)
定义 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配. Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式. re 模块使 Pyth ...
- python学习笔记----正则表达式
正则: regular expression 常用的场景: #正则的包 >>> import re #match:开头匹配,匹配到,返回一个匹配对象,否则返回None >> ...
- python学习笔记——正则表达式regex
1 概述 1.1 定义 本质是由一系列字符和特殊符号组成的字串,用来表示一定规则的某一类字符串. 1.2 特点 正则表达式是一个独立的技术,其在多种编程语言中使用. 在python语言中的正则表达式模 ...
- Python学习 :正则表达式
正则表达式 python 使用正则表达式(re)来进行匹配引擎搜索 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个“规则字符串” 关于正则表达式 ...
- python 学习总结----正则表达式
正则表达式 应用场景 - 特定规律字符串的查找,切割,替换 - 邮箱格式:URl,IP地址等的校验 - 爬虫项目中,特定内容的提取 使用原则 - 只要使用字符串等函数能解决的问题,就不要使用正则 - ...
随机推荐
- 2019-08-02 纪中NOIP模拟B组
T1 [JZOJ1420] 佳肴 题目描述 佳肴就是非常美味的菜的意思,佳肴最关键的是选择好原料. 现在有N种原料,每种原料都有酸度S和苦度B两个属性,当选择多种原料时,总酸度为每种原料的酸度之积,总 ...
- ES6新的数据类型 generato,在AJAX中的应用
1.next()方法会执行generator的代码,然后,每次遇到yield x;就返回一个对象{value: x, done: true/false},然后“暂停”.返回的value就是yield的 ...
- 格式化输出_python
一.直接使用 +a='chen'b='xiao'c='zan'print(a+b+c) 二.利用占位符 %%s:占位符:%d:整数:%x:十六进制:%f:浮点数(默认6位小数)特别注意浮点数: 指定长 ...
- dea创建Maven工程用c3p0连接数据库报错java.sql.SQLException: Connections could not be acquired from the underlying
idea java.sql.SQLException: Connections could not be acquired from the underlying database! 转载自:ht ...
- 题解 【Codeforces381A】 Sereja and Dima
本题是很好的双指针练习题. 关于双指针,详见洛谷日报#73. 我们可以用两个指针l和r表示题中两人接下来要比较的数字,用fl标记下一个将要取的人,并分别用两个计数器统计双方的答案. 因此,我们有了如下 ...
- 使用c#做前台页面
1.有很多组件,组件右属性,事件 2.在table中,操作用的是图片 3.打开dialog时,其他窗体不能使用 4.在子窗体编辑完,对后台操作后,在父窗体加载一下数据
- ClassLoad
是什么 用来加载 Class 的.它负责将 Class 的字节码形式转换成内存形式的 Class 对象.字节码可以来自于磁盘文件 .class,也可以是 jar 包里的 .class,也可以来自远程服 ...
- Django_Setings
""" Django settings for untitled1 project. Generated by 'django-admin startproject' u ...
- calloc函数的使用和对内存free的认识
#include<stdlib.h> void *calloc(size_t n, size_t size): free(); 目前的理解: n是多少个这样的size,这样的使用类似有f ...
- 安装k8s出现 Failed to list *api.Node: Get http://192.168.144.131:8080...: dial tcp 192.168.144.131:8080: getsockopt: no route to
原因是master主机的防火墙没关,导致无法访问主机的8080端口,解决方法暂时关闭主机上的防火墙. * centos6 : service iptables stop * centos7 : sys ...