python学习笔记3----正则表达式
正则表达式(RE)是通过re模块来实现的。
字符匹配:
--普通字符:
*大多数字母和字符一般都会和自身匹配。
--元字符:. ^ $ * + ? {} [] \ | ()
[]:
通常用来指定一个指标集。其中的任何一个都可以进行匹配。[0-9],[a-zA-Z0-9],[a-z]
元字符在字符集中不起作用。
补集匹配不在区间范围内的字符。
^:
通常用来指定行首。
$:
通常用来指定行尾。
\:
反斜杠取消后面的元字符的特殊意思。
反斜杠后面加上不同的字符表示不同特殊意义。

{m,n}:
把前面的规则重复的次数。最少的次数,重复的次数,重复m到n次。
* :
把前面的字符重复多次,包括0到多次。
+:
前面的字符最少出现一次。
?:
前面的字符出现0次或者一次。
可以用来实现最小匹配。
{0,}和*等同
{1,}和+等同
{0,1}和?等同
正则表达式的编译:
import re
p= re.compile(r"^ad");
p是一个正则表达式的对象
p.findall("absd")
常用方法:
match():如果在字符串开始位置找到就返回一个对象,没有找到就返回空。
search(): 扫描字符串,找到这个re匹配的位置。


把soucrString中的符合正则表达式的替换成newStr.,count是替换次数。
re.sub(re,"newStr",sourceString)
re.subn(re,"newStr",sourceString):最后一个值表示替换的次数。
用re来切割s:
re.split(re, s)

分组:
分组一般是用小括号括起来,如果正则表达式中包含分组,则会返回分组匹配的部分,而不是返回全部正则表达式匹配的字符。
python学习笔记3----正则表达式的更多相关文章
- Python学习笔记013_正则表达式
Python中的正则表达式是通过 re 模块实现的. 通配符 . 表示除了换行以外的任何字符; 编写正则表达式时使用 r're' , r + 正则表达式内容 >>> impor ...
- python学习笔记之——正则表达式
1.re模块 Python通过re模块提供对正则表达式的支持,re 模块使 Python 语言拥有全部的正则表达式功能.使用re的一般步骤是先将正则表达式的字符串形式编译为Pattern实例,然后使用 ...
- Python学习笔记 - day10 - 正则表达式
正则表达式 字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求几乎无处不在.比如判断一个字符串是否是合法的Email地址,虽然可以编程提取@前后的子串,再分别判断是否是单词和域名,但这样 ...
- Python学习笔记(正则表达式)
\b - 表示以什么开头或结尾 \d - 匹配数字 \w - 匹配字母或数字或下划线或汉字(我试验下了,发现3.x版本可以匹配汉字,但2.x版本不可以) \s - 匹配任意的空白符 ^ - 匹配字符串 ...
- Python学习笔记之正则表达式
本篇在写的时候大量参考了https://deerchao.cn/tutorials/regex/regex.htm的内容 一.什么是正则表达式 在编写处理字符串的程序或网页时,经常会有查找符合某些复杂 ...
- 【Python学习笔记】正则表达式
Ref:https://deerchao.net/tutorials/regex/regex.htm#greedyandlazy 1. 常用元字符 2.字符转义 查找元字符本身时,需要使用\来取消这些 ...
- 【目录】Python学习笔记
目录:Python学习笔记 目标:坚持每天学习,每周一篇博文 1. Python学习笔记 - day1 - 概述及安装 2.Python学习笔记 - day2 - PyCharm的基本使用 3.Pyt ...
- [Python学习笔记]正则表达式总结
常用缩写字符及其含义表格查询 缩写字符分类 含义 \d 0-9的任意数字 \D 除0-9的数字以外的任何字符 \w 任何字母.数字或下划线字符(可以认为是匹配"单词"字符) \W ...
- Python学习笔记基础篇——总览
Python初识与简介[开篇] Python学习笔记——基础篇[第一周]——变量与赋值.用户交互.条件判断.循环控制.数据类型.文本操作 Python学习笔记——基础篇[第二周]——解释器.字符串.列 ...
- Python学习笔记(十一)
Python学习笔记(十一): 生成器,迭代器回顾 模块 作业-计算器 1. 生成器,迭代器回顾 1. 列表生成式:[x for x in range(10)] 2. 生成器 (generator o ...
随机推荐
- [转]在Sql Server中将字符串分割成表格数据示例
本文转自:http://www.lmwlove.com/ac/ID718 比如我们有一个字符串 ) select @appName ='UserID=admin,Account=ABC' 然后我们要以 ...
- XSS之浪潮已经来临
前些天和Roy厉在微博上聊到微信公众账号,我说我在辛苦运营“网站安全中心”这个账号呢,他说我这账号粉丝少是少了点,不过用户定位精确,我说我不希望精确,因为我在尽可能写科普,科普需要传播. Roy厉说过 ...
- My97DatePicker日历控件配置
一. 简介 1. 简介 目前的版本是:4.72 2. 注意事项 My97DatePicker目录是一个整体,不可破坏里面的目录结构,也不可对里面的文件改名,可以改目录名 My97DatePicker. ...
- PHP-时间小结
//获得本周(本天)时间戳的起始和结束//本周星期一时间戳$monday = mktime(0, 0, 0, date("m",strtotime("last Monda ...
- 职场二年级转型C++的困惑
[来信] 老师.你好.看了你的博客和採訪.不由主自地给你发私信,感觉你能解答我的问题. 学生90后,2012年毕业于某不知名院校.两年工作经验(第一年C#,第二年java,直到如今),一直想转型C++ ...
- 解决oracle和plsql乱码问题
oracle 10g装上后,建了个表写入中文数据,发现通过工具DbVisualizer 6.5 写入/读取中文都正常,就sqlplus和PL/SQL Developer不正常. 初步怀疑是DbVisu ...
- 关于android-support-v4.jar包的错误
1.加入android-support-v4 误 java.lang.ClassNotFoundException: android.support.v4.view.ViewPager in load ...
- linux下的QQ执行玩法:pidgin-lwqq
安装pidgin: sudo apt-get install pidgin 安装pidgin-lwqq: sudo add-apt-repository ppa:lainme/pidgin-lwqq ...
- Spring MVC坑汇总+Stackoverflow巧解答
1.http://stackoverflow.com/questions/25598406/spring-annotaion-autowired-inside-methods Q: Autowire ...
- Sybase数据库应用系统调优的五大领域
Sybase数据库应用系统调优的五大领域 2011/3/14/13:49来源:慧聪it网 本 文以“某大型商业银行的网上银行系统”这一很具有典型意义的企业级大型Sybase数据库应用系统为例,涉及了数 ...