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 ...
随机推荐
- UVA - 10229 Modular Fibonacci 矩阵快速幂
Modular Fibonacci The Fibonacci numbers (0, 1, 1, 2, 3, 5, 8, 13, 21, 3 ...
- Ruby学习笔记(一)
在做实验的时候,由于每次都要手工修改文件夹的名字,实在是给自己添了太多的麻烦,为了摆脱手工修改的困恼,于是产生了一个使用程序批量修改文件夹名字的好主意.为了最终实现这个目标,自然需要选择一种合适的脚本 ...
- [poj 2185] Milking Grid 解题报告(KMP+最小循环节)
题目链接:http://poj.org/problem?id=2185 题目: Description Every morning when they are milked, the Farmer J ...
- n行m列矩阵顺时针填写1~n*m
程序效果图如下: 程序参考代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 ...
- 洛谷P4016 负载平衡问题 费用流
这道题还是很好的. 考察了选手对网络流的理解. 首先,任意两个相邻点之间的运货量时没有限制的. 我们可以将相邻点之间的流量建为无限大,单位费用设为 1,代表运输一个货物需耗费一个代价. 由于题目要求最 ...
- 简洁的MVC思想框架——Nancy(环境配置与Get操作)
Nancy官网——https://github.com/NancyFx/Nancy 概述:Nancy是一个开源的Web轻型框架内核符合MVC思想,有开发方便,路由简单的特点,而且功能齐全 起步:Hel ...
- SASS 使用(vs code)
二.在vs code中编译sass 1.在拓展商店里搜索“easy sass”,并安装,安装成功后点重新加载. 2.接下来进行配置: 在 vs code 菜单栏依次点击“文件 首选项 设置”,打开 s ...
- 【转载】如何学习C++
原文地址: http://www.hankcs.com/program/cpp/how_to_learn_c__.html 1.把C++当成一门新的语言学习(和C没啥关系!真的.): 2.看<T ...
- CentOS7 安装 MySQL 5.7
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz yum -y ...
- 使用JMX透过防火墙远程监控tomcat服务
https://my.oschina.net/mye/blog/64879 http://blog.csdn.net/l1028386804/article/details/51547408 http ...