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. Spark技术内幕: Task向Executor提交的源代码解析

    在上文<Spark技术内幕:Stage划分及提交源代码分析>中,我们分析了Stage的生成和提交.可是Stage的提交,仅仅是DAGScheduler完毕了对DAG的划分,生成了一个计算拓 ...

  2. 10个必需的iOS开发工具和资源

    本文转载至 http://mobile.51cto.com/iphone-418166.htm 界面总不是一件很容易事,尤其是iPhone/iPad的界面,做过iOS开发的程序员,一定会感到开发iPh ...

  3. vmware安装操作系统

    安装的时候,直接选择“从光盘或者映像安装”就可以了,很方便的.不需要再去从u盘什么的安装了.

  4. Routine Subroutine Coroutine 子程序 协程

    https://en.wikipedia.org/wiki/Subroutine In computer programming, a subroutine is a sequence of prog ...

  5. 安装mysql时,提示This application requires .NET framework 4.0问题

    Question:双击MySQL的安装文件, 弹框提示,   Answer:安装微软的 .NET Framework 4或更新的版本,下载地址:https://www.microsoft.com/zh ...

  6. UIView封装动画--iOS利用系统提供方法来做关键帧动画

    iOS利用系统提供方法来做关键帧动画 ios7以后才有用. /*关键帧动画 options:UIViewKeyframeAnimationOptions类型 */ [UIView animateKey ...

  7. go 包的问题

    同一个包下的所有方法,都整合到一个里面去了,通过包名可以任意调用包下的方法. 文件夹的名字必须要和文件里面的package的名字一样,否则会报错... 导文件就是文件所在的包 导包import(),是 ...

  8. HDU 1829/POJ 2492 A Bug's Life

    A Bug's Life Time Limit: 15000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Tot ...

  9. [HTML & CSS] HTML和CSS基础知识

    最近将博客简单地修饰了下,需要用到HTML和CSS代码,花了一天时间学习了一下这两方面的知识.虽然内容很简单,但是足够用来修改自己的博客了. 1. HTML 1.1. HTML介绍 HTML与CSS的 ...

  10. buntu下命令行安装jdk,android-studio,及genymotion虚拟机来进行android开发【转】

    本文转载自:http://www.cnblogs.com/iamhenanese/p/5491862.html 安装JDK 从oracle官网下最新版的linux64位的jdk包(现在最新为jdk-8 ...