参考博客: 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模块的更多相关文章

  1. Python3基础笔记--常用模块

    目录: 参考博客:Python 之路 Day5 - 常用模块学习 Py西游攻关之模块 一.time模块 二.random模块 三.os模块 四.sys模块 五.hashlib模块 六.logging模 ...

  2. Python3基础笔记---模块

    参考博客:Py西游攻关之模块 模块的概念: 我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式.在Python中,一个.py文件就称之为 ...

  3. Python3学习笔记27-ConfigParser模块

    ConfigParser模块在Python3修改为configparser,这个模块定义了一个ConfigeParser类,该类的作用是让配置文件生效.配置文件的格式和window的ini文件相同,大 ...

  4. Python3基础笔记---面向对象

    只是对一些新的知识的记录 1.创建类 class ClassName: <statement-1> . . . <statement-N> 类实例化后,可以使用其属性,实际上, ...

  5. Python3基础笔记--基础知识

    目录: 一.变量问题 二.运算符总结 三.字符串问题 四.数据结构 五.文件操作 一.变量问题 变量存储在内存中的值.这就意味着在创建变量时会在内存中开辟一个空间.它自始至终都是在内存中活动,只有指明 ...

  6. Python3基础 __file__ 查询模块的完整路径

             Python : 3.7.3          OS : Ubuntu 18.04.2 LTS         IDE : pycharm-community-2019.1.3    ...

  7. Python3基础笔记_迭代器

    # Python3 迭代器与生成器 import sys ''' 迭代是Python最强大的功能之一,是访问集合元素的一种方式. 迭代器是一个可以记住遍历的位置的对象. 迭代器对象从集合的第一个元素开 ...

  8. Python3学习笔记34-pymongo模块

    pymongo模块是python操作mongo数据的第三方模块,记录一下自己常用到的简单用法. 首先需要连接数据库: MongoClient():该方法第一个参数是数据库所在地址,第二个参数是数据库所 ...

  9. Python3学习笔记32-xlwt模块

    xlwt模块是用来写入excel的第三方模块,需要下载安装后才能使用. 设置字体样式 import xlwt #初始化一个excel excel = xlwt.Workbook(encoding='u ...

随机推荐

  1. Android 6.0 开发人员对系统权限的使用与练习(Permissions Best Practices)

    Permissions Best Practices 在安装的过程中,用户非常easy忽略权限请求. 假设一个用户相应用感觉沮丧或者操心泄漏个人信息,那么这些用户就会不用他或者卸载它. 怎样规避这个问 ...

  2. Scala语言

    一.Scala概述 Scala简介 Scala是一种针对JVM将函数和面向对象技术组合在一起的编程语言.所以Scala必须要有JVM才能运行,和Python一样,Scala也是可以面向对象和面向函数的 ...

  3. tabIndex-bootstrap中Get到的

    网页键盘的无障碍访问性 其实加了这个,可以控制Tab键切换的顺序,聚焦等 这个属性,任何标签都可以添加,没有兼容性限制,属性值的范围:0-32767 当一个元素设置tabindex属性值为-1的时候, ...

  4. 如何使easyui的datagrid 高度自适应

    如何使easyui的datagrid 高度自适应? 最开始使用easyui的datagrid加载数据时,对其设置的高度都是固定值,数据较多时table表现为滚动条形式.某天,老大突然需要datagri ...

  5. SpringCloud学习笔记(14)----Spring Cloud Netflix之Hystrix对Feign的支持

    1. Hystrix对Feign的支持 添加Feign中IUserBiz的实现类HystrixFallBack: package com.wangx.cloud.springcloud02consum ...

  6. Python读取Matlab的.mat文件

    参考网站: https://blog.csdn.net/rumswell/article/details/8545087 数据: R 22*22 double 部分截图如下: 使用sicpy.io即可 ...

  7. pycharm修改提示

  8. Python 语言中经常有疑惑的地方

    *)关于for循环中range(2),i到底是从0还是1开始.特别是在用数组的长度作为range的参数的时候经常会犯糊涂 #首先 >>> for i in range(5): ... ...

  9. ASP.NET-Razor语法03

     ASP.NET MVC中使用Razor语法 @{} @{ string s ="super xiao lizi"; @s; // 里面的这个@代表着在页面上输出这个s // 我记 ...

  10. 一、奇妙插件Tampermonkey的简单安装教程

    奇妙插件Tampermonkey的简单安装教程 1.下载 对于浏览器而言,一般的功能并不能满足"特殊用户的需求".这时候就须要插件来帮忙了.那么讲到插件的支持多又常见的浏览器必定要 ...