re模块就本质而言,正则表达式(或RE)是一种小型的、高度专业化的编程语言,(在python中)它内嵌
在Python中,并通过re模块实现,正则表达式模块被编译成一系列的字节码,然后由用C编写的匹配引擎执行。
字符匹配(普通字符、元字符)
#1、正则表达式使用: 用来匹配字符的
普通字符:大多数字符和字母都会和自身匹配
import re
# s = "hello world"
#
# print(s.find("llo"))
# ret = s.replace("ll","xx")
# print(ret)
# print(s.split("w"))
2元字符: . ^ $ * + ? { } [] | () \
#. 任意匹配(除\n外)
ret = re.findall("h...o","hello world")
print(ret)
#^ 从前匹配
ret = re.findall("^h...o","hewdo world hexno")
print(ret)
#$ 从后匹配
ret = re.findall("w..d$","wdifdhello sdwordwold")
print(ret)
#* 重复匹配
ret = re.findall("ab*","hello world i come aback")
print(ret)
#+ 至少出现一次匹配
ret = re.findall("a+b","adsdfbadbababdjfn")
print(ret)
#? [0,1] 最多出现一次匹配
ret = re.findall("a?b","abdsdfbadbababdjfn")
print(ret)
#{ } 贪婪匹配
ret = re.findall("a{1,3}b","adsdfbaaabbabbbdaadbababdjfn") #{1,}等价于{1,+00}
print(ret)
结论:* 等于 {0到正无穷} + 等价于{1到正无穷} ?等价于{0,1}
#[]字符集:取消元字符的特殊功能
ret = re.findall("[w,,]","awdx.,")
print(ret)
#反斜杠后边跟普通字符实现特殊功能
\d 匹配任何十进制数 它相当于类[0-9]
\D 匹配任何非数字字符 它相当于类[^0-9]
\s 匹配任何空白字符 它相当于类 [ \t\n\r\f\v]
\S 匹配任何非空白字符 它相当于类 [^ \t\n\r\f\v]
\w 匹配任何字母数字字符,它相当于类 [1-zA-Z0-9_]
\W 匹配任何非字母数字字符,它相当于类 [^1-zA-Z0-9_] #正则表达式的方法:
  1、findall(): 所有结果都返回到一个列表里
  2、search(): 返回匹配到的一个对象(object),对象可以调用group()返回结果
  3、match(): 只在字符串开始匹配时匹配,也返回匹配到的第一个对象(object),对象可以调用group ret = re.match("assd","asdgfhjdk")
print(ret)
print(ret.group())

python_re正则表达的更多相关文章

  1. Javascript正则构造函数与正则表达字面量&&常用正则表达式

    本文不讨论正则表达式入门,即如何使用正则匹配.讨论的是两种创建正则表达式的优劣和一些细节,最后给出一些常用正则匹配表达式. Javascript中的正则表达式也是对象,我们可以使用两种方法创建正则表达 ...

  2. HttpGet协议与正则表达

    使用HttpGet协议与正则表达实现桌面版的糗事百科   写在前面 最近在重温asp.net,找了一本相关的书籍.本书在第一章就讲了,在不使用浏览器的情况下生成一个web请求,获取服务器返回的内容.于 ...

  3. js正则表达test、exec和match的区别

    test的用法和exec一致,只不过返回值是 true false. 以前用js很少用到js的正则表达式,即使用到了,也是诸如邮件名称之类的判断,网上代码很多,很少有研究,拿来即用. 最近开发遇到一些 ...

  4. 正则表达示 for Python3

    前情提要 从大量的文字内容中找到自己想要的东西,正则似乎是最好的方法.也是写爬虫不可缺少的技能.所以,别墨迹了赶紧好好学吧! 教程来自http://www.runoob.com/python3/pyt ...

  5. Python之面向对象和正则表达(代数运算和自动更正)

    面向对象 一.概念解释 面对对象编程(OOP:object oriented programming):是一种程序设计范型,同时也是一种程序开发的方法,实现OOP的程序希望能够在程序中包含各种独立而又 ...

  6. JS写法 数值与字符串的相互转换 取字符中的一部分显示 正则表达规则

    http://www.imooc.com/article/15885 正则表达规则 <script type="text/javascript"> </scrip ...

  7. shell正则表达

    shell正则表达 .*和.?的比较: 比如说匹配输入串A: 101000000000100 使用 1.*1 将会匹配到1010000000001,匹配方法:先匹配至输入串A的最后, 然后向前匹配,直 ...

  8. python 正则表达提取方法 (提取不来的信息print不出来 加个输出type 再print信息即可)

    1,正则表达提取 (findall函数提取) import re a= "<div class='content'>你大爷</div>"x=re.finda ...

  9. grep 正则表达

    常见的 grep 正则表达参数 -c # 显示匹配到得行的数目,不显示内容 -h # 不显示文件名 -i # 忽略大小写 -l # 只列出匹配行所在文件的文件名 -n # 在每一行中加上相对行号 -s ...

随机推荐

  1. linux之我的互联网面试经验

    互联网面试想必是每个学计算机的学生必不可少的环节,无论你的项目经验再多,你不准备基础知识,也还是无济于事.首先来说说关于工作的事情. 三年前,那时候我还是刚刚快要大四毕业的小鲜肉,那时候有个超大的招聘 ...

  2. JS - 数组转字符串

        var arr =['h','e','l','l','o']     var s = arr.join("");       console.log(s); 

  3. Linux centosVMware 压缩打包介绍、gzip压缩工具、bzip2压缩工具、xz压缩工具。

    一.压缩打包介绍 Lnux下常见的压缩文件通常是.tar.gz模式,还有.tar..gz..bz2..zip..tar.bz2..tar.xz. .gz:表示由gzip压缩工具压缩的文件 .bz2:表 ...

  4. 如何配置vsftpd

    1   安装vsftpd组件 安装完后,有/etc/vsftpd/vsftpd.conf 文件,是vsftp的配置文件. [root@bogon ~]# yum -y install vsftpd 2 ...

  5. 2017 青岛现场赛 I The Squared Mosquito Coil

    Lusrica designs a mosquito coil in a board with n × n grids. The mosquito coil is a series of consec ...

  6. oracle的存储过程和函数有什么区别?

    Oracle中的函数与存储过程的区别:      A:函数必须有返回值,而过程没有. B:函数可以单独执行.而过程必须通过execute执行. C:函数可以嵌入到SQL语句中执行.而过程不行. 其实我 ...

  7. ubuntu14安装一些常用的软件

    1.搜狗输入法: 2.sublime 3. 搜狗输入法在Linux里面还是很正常的,并没有想在windows下那样充斥这各种广告. 在搜狗的官网下载了输入法-->双击安装-->提示存在依赖 ...

  8. android中的简单animation(三)accelerate(加速),decelerate(减速),anticipate,overshoot,bounce

    animation_3.xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout x ...

  9. uboot的环境变量

    https://www.cnblogs.com/biaohc/p/6398515.html uboot 环境变量实现原理: 首先我们先要搞清楚uboot中环境变量的作用,uboot中环境变量的作用就是 ...

  10. SpringBoot---条件(th:if)

    Thymeleaf 的条件判断是 通过 th:if 来做的,只有为真的时候,才会显示当前元素 <p th:if="${testBoolean}" >如果testBool ...