文档章节

python 正则表达式笔记1

s
 showqing
发布于 2016/08/04 22:58
字数 691
阅读 1
收藏 0

(1)  import re

(2) .号(点号)表示出了换行符之外的所有字符

re.search(r'love','i love you')

(3) 如果要匹配"."(点号)加上反斜杠"\",如:

re.search('\.','i love you.com')
<_sre.SRE_Match object; span=(10, 11), match='.'>

\d可以匹配一个数字,\w可以匹配一个字母或数字

(4) 简易匹配ip地址

re.search(r'\d\d\d.\d\d\d.\d\d\d.\d\d\d','192.168.111.222')

(5)字符类[]

re.search(r'[aeiou]','I love you')

_sre.SRE_Match object; span=(3, 4), match='o'>

(6)"-" (下划线)表示范围

re.search(r'[0-9]','I love 123.com')

<_sre.SRE_Match object; span=(7, 8), match='1'>

(7)大括号{}里面的数字表示大括号前面的字符重复的次数,如:

re.search(r'ab{3}c','hello abbbcd')

<_sre.SRE_Match object; span=(6, 11), match='abbbc'>

 

3到10个b都会匹配

re.search(r'ab{3,10}c','abbbbc')

<_sre.SRE_Match object; span=(0, 6), match='abbbbc'>

 

(8)匹配IP地址:

re.search(r'(([01]{0,1}\d{0,1}\d{0,1}|2[0-4]\d||25[0-5])\.){3}([01]{0,1}\d{0,1}\d{0,1}|2[0-4]\d||25[0-5])','192.168.1.1')
(9)A|B 匹配表达式A或B,例如

re.search('L(i|y)','Li')

(10)^ 匹配输入字符串的开始位置

re.search(r'I lov','I love you')

(11)$匹配输入字符串的结束为止

re.search(r'ok$','i loe ok')

(12)\跟上数字,有两种表达方式,

       12.1 数字在1-99范围内表示引用序列对应词组所匹配的字符串

          re.search(r'(Lucy)\1','LucyLucy')

         <_sre.SRE_Match object; span=(0, 8), match='LucyLucy'>

        re.search(r'(Lucy)and(Lily)\2','LucyandLilyLily')

        <_sre.SRE_Match object; span=(0, 15), match='LucyandLilyLily'>

      12.2 如果跟着的数字是0开头或者3位的数字的长度,那么它是一个八进制数,八进制数字对于的ascii所对应的字符

       re.search(r'(Lucy)\060','helloLucy0')

      <_sre.SRE_Match object; span=(5, 10), match='Lucy0'>

     re.search(r'(jackson)\141','jacksona')

    <_sre.SRE_Match object; span=(0, 8), match='jacksona'>

(13)[]字符类里面的内容,都当成普通的字符(除了几个特殊的字符,-:表示范围;\:字符串的转义符)

    13.1  re.search(r'[.]','hello baidu.com')

   <_sre.SRE_Match object; span=(11, 12), match='.'>

   13.2 特殊字符-       re.findall(r'[a-z]','Hello')

      ['e', 'l', 'l', 'o']

   13.3 特殊字符\  

        re.findall(r'[\n]','love you forever\n')

       ['\n']

   13.4 特殊字符,脱字符^

     13.4.1 表示取反(放在前面),表示不包括其中的任意字符

      re.findall(r'[^a-z]','Love you!')

       ['L', ' ', '!']

      还例如:

       re.search(r'[^"]+\.jpg','"http://a.jpg')

       <_sre.SRE_Match object; span=(1, 13), match='http://a.jpg'>

    13.4.2 表示脱字符本身(放在后面)

     re.findall(r'[a-z^]','My name is jack')

    ['y', 'n', 'a', 'm', 'e', 'i', 's', 'j', 'a', 'c', 'k']

 

     14.字符重复{m,n},例如

    re.search(r'Love{3}','Loveee you')

   <_sre.SRE_Match object; span=(0, 6), match='Loveee'>

  re.search(r'(love){3}','lovelovelovey')

<_sre.SRE_Match object; span=(0, 12), match='lovelovelove'>

 

15.正则表达式默认使用贪婪的模式:只要符合的条件下,会尽可能多的去匹配

s='<html><title>I love you</title></html>'

re.search(r'<.+',s)

_sre.SRE_Match object; span=(0, 38), match='<html><title>I love you</title></html>'>

  15.1 启用飞贪婪模式

     re.search(r'<.+?>',s)

    <_sre.SRE_Match object; span=(0, 6), match='<html>'>

 

© 著作权归作者所有

共有 人打赏支持
s
粉丝 2
博文 51
码字总数 7278
作品 0
南京
私信 提问
她们不一样!python小白刚学会python竟然爬取了网上所有小姐姐的照片

如今想学python的人越来越多,无论是专业的程序员还是业余爱好者,都对python情有独钟。世界上值得学习的技能有很多,但是如果你要问我推荐哪一个,那么我会推荐一门编程语言,比如python。如...

Python学习
06/06
0
0
分享我自己写的一套Python爬虫学习经验

最近在学习Python爬虫,感觉非常有意思,真的让生活可以方便很多。学习过程中我把一些学习的笔记总结下来,还记录了一些自己实际写的一些小爬虫,在这里跟大家一同分享,希望对Python爬虫感兴...

崔庆才
2015/02/23
3.7K
25
Python下的正则表达式原理和优化笔记

最近的时间内对正则表达式进行了一点点学习。所选教材是《mastering regular expressions》,也就是所谓的《精通正则表达式》。读过一遍后,顿感正则表达式的强大和精湛之处。其中前三章是对...

小弘
2013/06/19
0
16
Python语言re模块学习笔记

Python通过re模块来使用正则表达式(regex)的思想。 re模块的match、search方法构造出匹配对象,match是匹配,search是查找,这个对象有group,groups方法。 re模块的findall、finditer方法...

红蜻蜓q
05/11
0
0
Python 正则表达式(字符)详解

Python正则表达式 — 简介  其实正则表达式这种技术,源于一个很简单的问题:    如何通过变成使得计算机具有在文本中检索某种模式的能力?   而正则表达式为通过编程实现高级的文本模式...

jamesjoshuasss
2017/03/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

三星Galaxy S10可能会配备TOF 3D摄像头

12月3日消息,据Phone Arena报道,三星Galaxy S10可能会配备TOF 3D摄像头。 Phone Arena报道称三星Galaxy S10一共有五颗摄像头(前置双摄+后置三摄),而5G版本的Galaxy S10后置四颗摄像头,...

问题终结者
30分钟前
9
0
fabric增删改查Mac

备份1.3版本,重新下载1.1版本到fabric文件夹 /opt/gopath/src/github.com/hyperledger/fabric -> /opt/gopath/src/github.com/hyperledger/fabric1.3 新建/opt/gopath/src/github.com/hype......

八戒八戒八戒
59分钟前
9
0
盘点愚人节各大网站彩蛋,谁最爱恶搞?

如今的愚人节俨然已是各品牌宣传了一个重要节日,同时,也成为了各大互联网科技企业凑热闹,比拼创意和策划的节日。跟小编一起看看有哪些有趣的策划吧! Google地图变成吃豆人游戏 每年愚人节...

临江仙卜算子
今天
6
0
Java7/8 中的 HashMap 和 ConcurrentHashMap 全解析

本文分析的是源码,所以至少读者要熟悉它们的接口使用,同时,对于并发,读者至少要知道 CAS、ReentrantLock、UNSAFE 操作这几个基本的知识,文中不会对这些知识进行介绍。Java8 用到了红黑树...

java菜分享
今天
6
0
玩手机与做实验

看过这样一个故事:说的是在二十世纪二十年代初的一个深夜,担任英国剑桥大学卡文迪许实验室主任的卢瑟福来实验室检查,发现一位学生还在做实验。卢瑟福就问他:“你上午做什么了?”学生回答...

Bob2100
今天
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部