re模块

正则:

正则就是用一些具有特殊含义的符号组合到一起(称之为正则表达式)来描述字符或字符串的方法。或者说:正则就是用描述一类事物的规则。(在python中) 它内嵌在python中,并通过re模块来实现。正则表达式模式被编译成一系列的字节码,然后用C编写的匹配引擎执行。

二、常用匹配模式(元字符)

要先导入re模块,配合正则表达式:、

import re

\w:匹配字母数字及下划线
print(re.findall('\w','ajllhs_127sji%&^h_9'))
#打印结果:
['a', 'j', 'l', 'l', 'h', 's', '_', '', '', '', 's', 'j', 'i', 'h', '_', ''] \W :匹配非字母数字下划线
print(re.findall('\W','shuk*&%^-_=|sjf98'))
#打印结果
['*', '&', '%', '^', '-', '=', '|'] \s:匹配任意空白字符,等价于[\t\n\f\r]
print(re.findall('\s',' \n6si(*-=\rj8hs*%#\t'))
#打印结果
[' ', '\n', '\r', '\t'] \S 匹配任意非空白字符
print(re.findall('\S',' r\r4$^*(\njsh\t@!'))
#打印结果
['r', '', '$', '^', '*', '(', 'j', 's', 'h', '@', '!'] \d匹配任意数字等价于[-]
print(re.findall('\d','js&*\r89$46#0\'/j'))
#打印结果
['', '', '', '', ''] \D匹配任意非数字
print(re.findall('\D','js&*\r89$46#0\'/j'))
#打印结果
['j', 's', '&', '*', '\r', '$', '#', "'", '/', 'j'] \A 匹配字符串的开始
print(re.findall('\Aada','123ada sijhada'))
#打印结果:[] 以ada为字符串的开始, 没有则给出一个空列表
print(re.findall('\Aada','ada12ada sijhada'))
#打印结果 ['ada'] 只提取开头的 ada,之后再有的都不会提取,因为后面的都不是以ada开头了。 一般\A不用, 而用^来代替
print(re.findall('^ada','123ada sijhada'))
#打印结果:[] 以ada为字符串的开始, 没有则给出一个空列表, 效果等同于print(re.findall('\Aada','123ada sijhada')) \Z 匹配字符串结束,如果存在换行,只匹配到换行钱结束的字符串
print(re.findall('nb\Z','adaxjshi&*)12sbw('))
打印结果为 [ ] 因为不是以nb结尾的字符串 print(re.findall('nb\Z','adaxjshi&*)12nbnbnb'))
#打印结果为 ['nb'] 是以nb结尾的,且不关里面有多少个nb 只取结尾的那个nb \Z一般也不用而是用$来代替用法同\Z 一米一样
print(re.findall('nb$','adaxjshinbnbnb'))
#打印结果 ['nb'] \n 匹配换行符
print(re.findall('\n','sh\n268*&()kl\n'))
#打印结果 ['\n', '\n'] \t 匹配制表符
print(re.findall('\t','sh\t268*&()kl\t'))
#打印结果 ['\t', '\t'] . 匹配任意一个字符 ,除了换行符。当re.DOTALL标记被指定时, 则可以匹配包括换行符的任意字符
print(re.findall('a.b','anxb jianbkh ahba\rb a\nb'))
#打印结果['anb', 'ahb', 'a\rb'] 第一个anxb 不能匹配因为中间有两个字符,.只能匹配一个, 后面的a\nb 也不能匹配,\n 是换行符。
print(re.findall('a.b','anxb jianbkh ahba\rb a\nb',))
#打印结果['anb', 'ahb', 'a\rb', 'a\nb']
import re

[...]代表用来表示  一组字符串找那个单独列出
print(re.findall('a...c','amkbcsc abbyc'))
#打印结果 # 打印结果 ['a', 'c', 'c', 'a', 'c'] 单独列出a c [^...] 代表用来表示 不在[] 中的字符
print(re.findall('[^bcd]','abcdsad, sjdmhsmzsc'))
# 打印结果:['a', 's', 'a', ',', ' ', 's', 'j', 'm', 'h', 's', 'm', 'z', 's']

常用模块 re模块与正则表达式的更多相关文章

  1. python-Day5-深入正则表达式--冒泡排序-时间复杂度 --常用模块学习:自定义模块--random模块:随机验证码--time & datetime模块

    正则表达式   语法:             mport re #导入模块名 p = re.compile("^[0-9]") #生成要匹配的正则对象 , ^代表从开头匹配,[0 ...

  2. 常用模块re模块(正则表达式)

    re模块 一:什么是正则? 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法.或者说:正则就是用来描述一类事物的规则.(在Python中)它内嵌在Python中, ...

  3. python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib subprocess logging re正则

    python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib  subprocess ...

  4. re模块(Python中的正则表达式)

    re模块 正则表达式本身是一种小型的.高度专业化的编程语言,而在python中,通过内嵌集成re模块,程序媛们可以直接调用来实现正则匹配.正则表达式模式被编译成一系列的字节码,然后由用C编写的匹配引擎 ...

  5. 常用的re模块的正则匹配的表达式

    07.01自我总结 常用的re模块的正则匹配的表达式 一.校验数字的表达式 1.数字 ^[0-9]\*$ 2.n位的数字 ^\d{n}$ 3.至少n位的数字 ^\d{n,}$ 4.m-n位的数字 ^\ ...

  6. Python常用内建模块

    Python常用内建模块 datetime 处理日期和时间的标准库. 注意到datetime是模块,datetime模块还包含一个datetime类,通过from datetime import da ...

  7. 转:Yii实战中8个必备常用的扩展,模块和widget

    转载自:http://www.yiiframework.com/wiki/180/yii8/ 在经过畅K网的实战后,总结一下在Yii的项目中会经常用到的组件和一些基本的使用方法,分享给大家,同时也给自 ...

  8. s14 第5天 时间模块 随机模块 String模块 shutil模块(文件操作) 文件压缩(zipfile和tarfile)shelve模块 XML模块 ConfigParser配置文件操作模块 hashlib散列模块 Subprocess模块(调用shell) logging模块 正则表达式模块 r字符串和转译

    时间模块 time datatime time.clock(2.7) time.process_time(3.3) 测量处理器运算时间,不包括sleep时间 time.altzone 返回与UTC时间 ...

  9. Python之常用模块--collections模块

    认识模块 什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1 使用python编写的 ...

随机推荐

  1. kubernetes管理之使用yq工具截取属性

    系列目录 前面我们讲解过使用go-template或者jsonpath格式(kubectl get 资源 --output go-tempalte(或jsonpath))来截取属性的值,并且我们比较了 ...

  2. npm 淘宝设置代理

    直接安装cnpm导致无限索引,因此直接使用代理 方法一: 直接在当前用户文件夹下,npmrc 文件上直接设置代理:registry=https://registry.npm.taobao.org 方法 ...

  3. Asp.Net Core 初探 (三)

    昨天失败的生产环境部署就先放着,明天再解决! 今天利用中午的空余时间看了一下Asp.net core 的Areas . 相对于Asp.net MVC5 以及之前的版本,asp.net core 的Ar ...

  4. hdu5317 RGCDQ 统计

    // hdu5317 RGCDQ // // 题目大意: // // 给定一个闭区间[l,r],定义f(x)是x的不同的质因子的个数 // 比方: 12 = 2 * 2 * 3,是两种.所以f(x) ...

  5. springboot中tomcat找不到jsp页面【转载】

    这个原理还没搞明白,只知道是内嵌的tomcat找jsp时默认不读取resources目录,但是具体的默认读取的是哪个目录,打了一下午断点我也没找到.... 修改方式,添加配置修改tomcat的读取目录 ...

  6. EasyRTMP实现的rtmp推流的基本协议流程

    EasyRTMP介绍 EasyRTMP是结合了多种音视频缓存及网络技术的一个rtmp直播推流端,包括:圆形缓冲区(circular buffer).智能丢帧.自动重连.rtmp协议等等多种技术,能够非 ...

  7. 在MFC中使用大漠插件

    打开Class Wizard,Add Class...->MFC Class From TypeLib... File->Location->>> Finish-> ...

  8. ETF到底是什么?

    ETF(交易所交易基金)是一种证券产品,它可以跟踪一些相关的资产,不论是股票.债券.商品,还是数字货币. ETF基金会负责跟踪指定的资产.然后放出部分股份,这些股份代表着对资产的拥有权. 交易ETF股 ...

  9. RNN 的入门程序DEMO

    1.视频介绍 https://www.youtube.com/watch?v=cdLUzrjnlr4 2. https://github.com/llSourcell/recurrent_neural ...

  10. linux apache服务器

    apache服务器 服务端功能是侦听和响应客户端的http请求.http协议的默认端口是80. 1996年以来,apache成为最流行的web服务器. IIS web服务器只能安装在windows上. ...