Python3基础笔记---re模块
参考博客: Py西游攻关之模块
就其本质而言,正则表达式(或 RE)是一种小型的、高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过 re 模块实现。正则表达式模式被编译成一系列的字节码,然后由用 C 编写的匹配引擎执行。
import re # # . 通配符,一个 . 模糊匹配一个除换行符之外的任意字符
# ret = re.findall('a..in', 'helloalvin')
# print(ret) # ['alvin']
#
# # ^ 必须以某个字符开始
# ret = re.findall('^a...n', 'alvinhelloawwwn')
# print(ret) # ['alvin']
#
# # $ 必须以某个字符结尾
# ret = re.findall('a...n$', 'alvinhelloawwwn')
# print(ret) # ['awwwn']
#
# # * 贪婪匹配 [0, +oo]
# ret = re.findall('abc*', 'abcccc') # 贪婪匹配[0,+oo]
# print(ret) # ['abcccc']
#
# ret = re.findall('a.*n', 'alvinhelloawwwn')
# print(ret) # ['alvinhelloawwwn'] 贪婪匹配
#
# # + 贪婪匹配 [1, +oo]
# ret = re.findall('abc+', 'abccc') # [1,+oo]
# print(ret) # ['abccc']
#
# ret = re.findall('a.+n', 'alvinhelloawwwn')
# print(ret) # ['alvinhelloawwwn'] 贪婪匹配
#
# # ? 匹配[0,1]
# ret = re.findall('abc?', 'abcccffab') # [0,1]
# print(ret) # ['abc', 'ab']
#
# {} 自定义重复次数 {1,} 表示一到正无穷
ret = re.findall('abc{1,4}', 'abcccccsccccc')
print(ret) # ['abcccc'] 贪婪匹配 # --------------------------------------------字符集[] # ret = re.findall('a[bc]d', 'acd')
# print(ret) # ['acd'] 匹配 b 或 c
#
# ret = re.findall('[a-z]', 'acd')
# print(ret) # ['a', 'c', 'd']
#
# ret = re.findall('[.*+]', 'a.cd+')
# print(ret) # ['.', '+'] # 在[]中,* + 失去原有的作用
#
# 在字符集里有功能的符号: - ^ \
#
# ret = re.findall('[1-9]', '45dha3')
# print(ret) # ['4', '5', '3']
#
# ^ 放在[]表示取反,不取 a 或 b 或 ,
# ret = re.findall('[^ab,]', '45bdha3,')
# print(ret) # ['4', '5', 'd', 'h', '3']
#
# ret = re.findall('[\d]', '45bdha3')
# print(ret) # ['4', '5', '3'] # \ 的功能
# 1、反斜杠后面跟元字符去除其特殊功能
# 2、反斜杠后面跟普通字符实现其特殊功能
'''
\d 相当于 [0-9]
\D 相当于 [^0-9]
\s 匹配任何空白字符
\S 匹配任何非空字符
\w 匹配任何字母数字字符 [0-9a-zA-Z]
\W 匹配任何非字母数字字符 [^0-9a-zA-Z]
\b 匹配一个特殊字符边界,也就是指单词和空格间的位置
'''
# ret=re.findall('I\b','I ')
# print(ret)#[] ret = re.findall('\dert','13ert')
print(ret) # ['3ert'] ret = re.findall('\Dert','13^ert')
print(ret) # ['^ert'] ret = re.findall('\s123', '')
print(ret) print(re.findall(r'I\b', 'hello,I am a hhI$hh'))
print(re.findall(r'\bI', 'hello, I am a hhI$hh')) print(re.findall(r'\\', r'abf\vaf'))
Python3基础笔记---re模块的更多相关文章
- Python3基础笔记--常用模块
目录: 参考博客:Python 之路 Day5 - 常用模块学习 Py西游攻关之模块 一.time模块 二.random模块 三.os模块 四.sys模块 五.hashlib模块 六.logging模 ...
- Python3基础笔记---模块
参考博客:Py西游攻关之模块 模块的概念: 我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式.在Python中,一个.py文件就称之为 ...
- Python3学习笔记27-ConfigParser模块
ConfigParser模块在Python3修改为configparser,这个模块定义了一个ConfigeParser类,该类的作用是让配置文件生效.配置文件的格式和window的ini文件相同,大 ...
- Python3基础笔记---面向对象
只是对一些新的知识的记录 1.创建类 class ClassName: <statement-1> . . . <statement-N> 类实例化后,可以使用其属性,实际上, ...
- Python3基础笔记--基础知识
目录: 一.变量问题 二.运算符总结 三.字符串问题 四.数据结构 五.文件操作 一.变量问题 变量存储在内存中的值.这就意味着在创建变量时会在内存中开辟一个空间.它自始至终都是在内存中活动,只有指明 ...
- Python3基础 __file__ 查询模块的完整路径
Python : 3.7.3 OS : Ubuntu 18.04.2 LTS IDE : pycharm-community-2019.1.3 ...
- Python3基础笔记_迭代器
# Python3 迭代器与生成器 import sys ''' 迭代是Python最强大的功能之一,是访问集合元素的一种方式. 迭代器是一个可以记住遍历的位置的对象. 迭代器对象从集合的第一个元素开 ...
- Python3学习笔记34-pymongo模块
pymongo模块是python操作mongo数据的第三方模块,记录一下自己常用到的简单用法. 首先需要连接数据库: MongoClient():该方法第一个参数是数据库所在地址,第二个参数是数据库所 ...
- Python3学习笔记32-xlwt模块
xlwt模块是用来写入excel的第三方模块,需要下载安装后才能使用. 设置字体样式 import xlwt #初始化一个excel excel = xlwt.Workbook(encoding='u ...
随机推荐
- mobiscroll手机端插件 好用(时间、日历、颜色)
http://demo.mobiscroll.com/range/rangepickertime/ 下载地址:http://download.mobiscroll.com/trial#/ios/dat ...
- Creating a Custom Page Layout in SharePoint 2013
Creating a Custom Page Layout in SharePoint 2013 In my last article, I documented how to create a Ma ...
- 准备把平台挪到linux
在上午准备周末胡老师的课程考核的Ppt时,逐渐我觉得不得不把平台挪到linux了.很多并行的应用不只是在linux上效率更高,而且很多包都在linux上.另外如果不及早挪到Linux上,后面遇到的问题 ...
- FCC编程题之中级算法篇(中)
介绍 接着上次的中级算法题 目录 1. Missing letters 2. Boo who 3. Sorted Union 4. Convert HTML Entities 5. Spinal Ta ...
- H5教程:移动页面性能优化
随着移动互联网的发展,我们越发要关注移动页面的性能优化,今天跟大家谈谈这方面的事情. 首先,为什么要最移动页面进行优化? 纵观目前移动网络的现状,移动页面布局越来越复杂,效果越来越炫,直接导致了文件越 ...
- 在yii2.0中封装一个生成验证码的控制器
frontend目录下/封装的验证码类: <?php namespace frontend\controllers; use yii\base\Controller; class CapathC ...
- 对同层数据进行处理,做成树状图形式的数据结构,并符合elementui中的tree结构
//通过子级的pid找到父级对应的id,制作树状图 var data = [ { id: 1, name: "办公管理", pid: 0 }, { id: 2, name: &qu ...
- mariadb 视图 事务 索引 外键
视图 对于复杂的查询,在多个地方被使用,如果需求发生了改变,需要更改sql语句,则需要在多个地方进行修改,维护起来非常麻烦 假如因为某种需求,需要将user拆房表usera和表userb,该两张表 ...
- Docker之Mysql安装及配置
原文:Docker之Mysql安装及配置 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/zhaobw831/article/details/8014 ...
- Qt之自定义布局管理器(QFlowLayout)
简述 QFlowLayout,顾名思义-流布局,实现了处理不同窗口大小的布局.根据应用窗口的宽度来进行控件放置的变化. 具体实现要求不再赘述,请参考前两节内容. 简述 实现 效果 源码 实现 QFlo ...