python re.compile()和findall()
来源:互联网 发布:淘宝店铺花呗怎么开通 编辑:程序博客网 时间:2024/05/18 02:56
compile(pattern[,flags] ) 根据包含正则表达式的字符串创建模式对象。
>>>help(re.compile)compile(pattern, flags=0) Compile a regular expression pattern, returning a pattern object.
通过help可以看到compile方法的介绍,返回一个pattern对象,但是却没有对第二个参数flags进行介绍。第二个参数flags是匹配模式,可以使用按位或’|’
表示同时生效,也可以在正则表达式字符串中指定。pattern对象是不能直接实例化的,只能通过compile方法得到。匹配模式有:
- re.I(re.IGNORECASE): 忽略大小写
- re.M(MULTILINE): 多行模式,改变’^’和’$’的行为
- re.S(DOTALL): 点任意匹配模式,改变’.’的行为
- re.L(LOCALE): 使预定字符类 \w \W \b \B \s \S 取决于当前区域设定
- re.U(UNICODE): 使预定字符类 \w \W \b \B \s \S \d \D 取决于unicode定义的字符属性
- re.X(VERBOSE): 详细模式。这个模式下正则表达式可以是多行,忽略空白字符,并可以加入注释
例如:
pattern1 = re.compile('abc', re.I) #忽略大小写
findall用法示例:
>>> import re >>> s = "adfad asdfasdf asdfas asdfawef asd adsfas " >>> reObj1 = re.compile('((\w+)\s+\w+)') >>> reObj1.findall(s) [('adfad asdfasdf', 'adfad'), ('asdfas asdfawef', 'asdfas'), ('asd adsfas', 'asd')] >>> reObj2 = re.compile('(\w+)\s+\w+') >>> reObj2.findall(s) ['adfad', 'asdfas', 'asd'] >>> reObj3 = re.compile('\w+\s+\w+') >>> reObj3.findall(s) ['adfad asdfasdf', 'asdfas asdfawef', 'asd adsfas']
当给出的正则表达式中带有多个括号时,列表的元素为多个字符串组成的tuple,tuple中字符串个数与括号对数相同,字符串内容与每个括号内的正则表达式相对应,并且排放顺序是按括号出现的顺序。
当给出的正则表达式中带有一个括号时,列表的元素为字符串,此字符串的内容与括号中的正则表达式相对应(不是整个正则表达式的匹配内容)。
当给出的正则表达式中不带括号时,列表的元素为字符串,此字符串为整个正则表达式匹配的内容。
阅读全文
1 0
- python re.compile()和findall()
- Python 正则re模块之compile()和findall()详解
- Python中正则表达式re模块-compile()和findall()
- python re的findall和finditer
- Python中的re.search和re.findall之间的区别
- python 正则表达式re.findall
- python 正则表达式re.findall
- python re 模块 findall 函数
- Python中的re.search和re.findall之间的区别2
- Python3的re.match()、re.search()和re.findall()
- Python3的re.match()、re.search()和re.findall()
- python re 模块 findall 函数用法简述
- python re 模块 findall 函数用法简述
- python re 模块 findall 函数用法简述
- python re 模块 findall 函数用法简述
- python re 模块 findall 函数用法简述
- python re.findall 遇到的小问题
- python re 模块 findall 函数用法简述
- android 4.4以上从相册进入之后,获取图片的路径的方法
- 字符串相关的一道题
- SAP 运维基础知识
- Hadoop+Hive环境搭建
- 【记忆化搜索】01背包
- python re.compile()和findall()
- Windows环境下安装配置Teamcity配合git自动发布mvc,webapi站点
- 【web前端自动化工作环境配置】7. 解决安装chrome batarang调试工具中遇到的问题
- 2017.7.14. LCA + RMQ
- win10中的进程
- usaco 1.2.2
- 数据结构的基本概念 与顺序表和链表的区别
- 关于ProxyPass、ProxyPassReverse代理和反向代理的理解
- 断点续传和下载原理分析