python re.findall 使用

 import re

 #\w 匹配字母数字及下划线
print(re.findall('\w','hello alan _god !@^&#^$^!*&(*')) #\W 匹配非字母数字下划线
print(re.findall('\W','hello alan _god !#@!#$(#*'))
#\s 匹配空白字符
print(re.findall('\s',"alan and god *& YUN CHINA"))
#\S 匹配非空白字符
print(re.findall('\S',"alan and god *& YUN CHINA"))
#d\ 数字与 D\ 非数字
print(re.findall('\d',"2018年9月8日16:54:30alan and god *& YUN CHINA1949"))
print(re.findall('\D',"20182018年9月8日16:54:20alan and god *& YUN CHINA1949")) #\A 匹配字符串开始
print(re.findall('\ACH',"CH2018年9月8日16:54:30alan and god *& YUN CHINA1949"))
#\Z 匹配字符串结束
print(re.findall('Z\Z',"20182018年9月8日16:54:20alan and god *& YUN CHINA1949ZZ")) #^ 字符串开头 与 $字符串结尾 print(re.findall('^a',"alan and god *& YUN CHINA"))
print(re.findall('NA$','alan and god *& YUN CHINA'))
#. 匹配任意
print(re.findall('an.','alan and angod *& YUN CHINA'))
print(re.findall('a.a','a a alan and a&a ata aa')) #* 匹配0或多个
print(re.findall('an*','a a alan and god anSB anang *& YUN CHINA'))
print(re.findall('an*','alan and a&a ata a a')) #? 匹配0或1------------------------
print(re.findall('ag?','age avg agre amg a'))
print(re.findall('agg?','aggge avgagg aggre amg ag')) #匹配所有包含小数在内的数字
print(re.findall('\d+.?\d*','123adf 1.33663fsdf13fsdf1fsdf3')) #.*默认为贪婪匹配
print(re.findall('a.*d','adss andgod930 axds9kidg')) #.*?为非贪婪匹配
print(re.findall('a.*?d','andgod930 axds9kidg ad aa')) #+ 1或多
print(re.findall('and+','andgod930 axds9kidg an and anddd andddSSS')) #{n,m} >=n,<m
print(re.findall('an{2}','andgod930 axds9kidg an annd anndd anddd andddSSS'))
print(re.findall('an{1,3}','andgod930 axds9kidg an annd anndd anddd andddSSS'))
print(re.findall('ab{1,}','abbb abs a ab bb'))
print(re.findall('ab{0,}','abbb abs a ab bb abb')) #[]内的都为普通字符了,且如果-没有被转意的话,应该放到[]的开头或结尾
print(re.findall('a[1*-]b','a1b a*b a-b asb aab allb a--b')) #[]内的^代表的意思是取反
print(re.findall('a[^1*-]b','a1b a*b a-b a=b')) #[]内的0-9 之间匹配 0到9 之间的整数
print(re.findall('a[0-9]b','a1b a*b a-b a=b a0b a00b ')) #[]内的a-z 之间匹配 小写字母
print(re.findall('a[a-z]b','a1b a*b A-D a-b a=b aeb aAb abb acb azb')) #[]内的A-Z 之间匹配 大写字母
print(re.findall('[A-Z]','a1b a*b A-D a-b a=b aeb aAb abb acb azb')) #[]内的a-z 或者 A-Z 之间匹配 大写字母 与小写字母
print(re.findall('a[a-zA-Z]b','a1b a*b a-b a=b aeb aEb aab aAb aZb azb')) #\ 与 \ 与 \\ #对于正则来说a\\c确实可以匹配到a\c,但是在python解释器读取a\\c时,会发生转义,然后交给re去执行,所以抛出异常
print(re.findall('a\\c','a\c'))
#r代表告诉解释器使用rawstring,即原生字符串,把我们正则内的所有符号都当普通字符处理,不要转义
print(re.findall(r'a\\c','a\c a\\c a c ac'))
#和上面的结果一样
print(re.findall('a\\\\c','a\c a\\c ')) #() 分組
print(re.findall('ab+','ababab123 abc abd')) #匹配到末尾的ab123中的ab
print(re.findall('(ab)+123','abab123 abc123 abb123 aa1234 ab1234')) #findall的结果不是匹配的全部内容,而是组内的内容,?:可以让结果为匹配的全部内容
print(re.findall('(?:ab)+123','ababab123 abc123 abb123 aa1234 ab1234')) print(re.findall('href="(.*?)"','<a href="http://www.baidu.com">百度</a> <a href="http://www.google.com">go</a> <a href="http://www.yunhua.com">go</a>')) print(re.findall('href="(?:.*?)"','<a href="http://www.baidu.com">百度</a> <a href="http://www.google.com">go</a> <a href="http://www.yunhua.com">go</a>'))

python re.findall 使用的更多相关文章

  1. 关于Python正则表达式findall函数问题详解

    关于Python正则表达式 findall函数问题详解 在写正则表达式的时候总会遇到不少的问题, 特别是在表达式有多个元组的时候.下面看下re模块下的findall()函数和多个表达式元组相遇的时候会 ...

  2. python正则表达式findall的使用

    文章来源与:http://www.cnblogs.com/zjltt/p/6955965.html 正则表达式 正则表达式本身是一种小型的.高度专业化的编程语言,而在python中,通过内嵌集成re模 ...

  3. python正则表达式--findall、finditer方法

    findall方法 相比其他方法,findall方法有些特殊.它的作用是查找字符串中所有能匹配的字符串,并以结果存于列表中,然后返回该列表 注意: match 和 search 是匹配一次 finda ...

  4. python使用findall正则匹配出所有符合条件的字符串

    # -*- coding:utf-8 -*- import re mystr="qqq key:www.baidu.com<br>key:www.tengxun.com<b ...

  5. python re.findall(rule,data),根据左右边界取值url中参数的值

    import re ''' 取值postid,左边界"postid=",右边界"&" ''' url="http://wwww.baidu.c ...

  6. python 正则表达式findall

    re.findall("匹配规则", "要匹配的字符串") 以列表形式返回匹配到的字符串 https://www.cnblogs.com/gufengchen/ ...

  7. Python re.findall函数不能匹配但是notepad++能匹配

    我使用同样的表达式匹配同样的网页源码,在notepad++里面不能直接使用,需要将内容都弄到同一行中. 但是我使用 requests.get(self.url).content.decode('UTF ...

  8. Learning Python 008 正则表达式-002 findall()方法

    Python 正则表达式 - findall()方法 重点 findall()方法的使用 - 程序讲解 简单的符号的使用 正则表达式的库文件是re,先导入库文件: import re .的使用举例 # ...

  9. python正则表达式一[转]

    原文:http://blog.jobbole.com/74844/ 作为一个概念而言,正则表达式对于Python来说并不是独有的.但是,Python中的正则表达式在实际使用过程中还是有一些细小的差别. ...

随机推荐

  1. mysql负载高分析

    table_open_cache SHOW STATUS LIKE 'Open%tables'; SHOW global variables LIKE '%table%';    # 如果你发现 op ...

  2. 2018-2019-2 20175223 实验三《敏捷开发与XP实践》实验报告

    目录 北京电子科技学院(BESTI)实验报告 实验名称:实验三 敏捷开发与XP实践 实验内容.步骤与体会: 一.实验三 敏捷开发与XP实践-1 二.实验三 敏捷开发与XP实践-2 三.实验三 敏捷开发 ...

  3. java中 抽象类和接口的区别

    一. 什么是抽象类及什么是抽象方法 抽象方法是一种特殊的方法:他只有声明,而没有具体实现,抽象方法的声明格式为: abstract void funName(); 抽象方法必须用 abstract 修 ...

  4. WebX.0:Web1.0

    ylbtech-WebX.0:Web1.0 web1.0时代是一个群雄并起,逐鹿网络的时代,虽然各个网站采用的手段和方法不同,但第一代互联网有诸多共同的特征,表现在技术创新主导模式.基于点击流量的盈利 ...

  5. 53、tensorflow基本操作

    import tensorflow as tf import numpy as np x_data = np.float32(np.random.rand(2,100)) print(x_data) ...

  6. eclipse 集成 STS 插件

    eclipse 集成 STS 插件 想新建一个 Spring Boot 工程,发现没有,如图:(展示的是集成之后的) eclipse 要和 sts 版本对应的,进入http://spring.io/t ...

  7. C++——模板

    1.参数类型 template <typename T> void f1(T&);//实参必须是左值 f1(i);//对 f1(ci);//对,T的类型是const int f1( ...

  8. jumpserver注意事项以及报错处理

    需要注意下面亮点 在使用jumpserver过程中,有一步是系统用户推送,要推送成功,client(后端服务器)要满足以下条件: 后端服务器需要有python.sudo环境才能使用推送用户,批量命令等 ...

  9. 获取图片地址url的后缀名

    getNameFromLink(url){ if(url.indexOf('.cn/') !== -1){          return (url.split('.')[url.split('.') ...

  10. CTF中的AWD套路

    今年参加了三起CTF比赛,属于初学者,基本除了web其他的不会,但分赛场AWD相对就没什么难度,基本都是技巧性.其中一场进入复赛了,本月底再次比赛(ctf题做的这么渣还能进也是绝了~),参照前人经验补 ...