乱读天书, 不求甚解
周祎骏的个人云笔记
Toggle navigation
乱读天书, 不求甚解
主页
Linux:系统配置
Linux:用户管理
Linux:优化排错
Linux:进程调度
Linux:文件系统
Linux:网络
Linux:系统服务
Linux:安全
Linux:内核
容器:Docker
容器:containerd
容器编排:Kubernetes
IAC:Terraform
大数据:Hadoop
大数据:Zookeeper
大数据:Hbase
消息队列:rsyslog
消息队列:kafka
数据库:MySQL
数据库:MongoDB
搜索引擎:Elasticsearch
时序数据库:OpenTSDB
网站服务:Nginx
编程:Bash
编程:Perl
编程:Python
编程:C
编程:JAVA
编程:Rust
版本控制:gitlab
知识管理:docusaurus
常用小工具
关于我
标签
python 3.07 re 模块
2017-02-20 14:31:19
109
0
0
admin
> 正则表达式 #基本方法 ##先介绍方法 **compile(pattern[,flag])** 把正则表达式字符串编译成成则表达式对象。(这是每次正则匹配前必须的步骤,所以在多次匹配的情况下,如果先编译好对象,再用对象去匹配能提高性能) ``` >>> import re >>> a="abc" >>> re_ob=re.compile(r".*b.*") >>> re_ob.search(a).group() ===| 'abc' |==> 这两种匹配方式等价 >>> re.search(r".*b.*",a).group() ===| 'abc' >>> ``` **search(pattern,string[,flag])** 在字符串里寻找,找不到则是None(返回的是匹配对象,后文细说) **match(pattern,string[,flag])** 从字符串开头出开始匹配,找不到则是None(返回的是匹配对象,后文细说) **split(pattern,string[,maxsplit=n)** 根据匹配的分隔符分割字符串成(n+1)份,n从0开始计数 ``` >>> re.split(r',','a,b,c,',maxsplit=1) ['a', 'b,c,'] ``` **findall(pattern,string)** 以列表的形式返回所有匹配项 ``` >>> re.findall(r'.b.','abc2bc33bc') ['abc', '2bc', '3bc'] ``` **sub(pattern,str,string[,count=n])** 把前n个匹配pattern的字符替换成str ``` >>> re.sub(r'.b.','w','abc2bc33bc') 'ww3w' ``` **escape(string)** 将字符串中的正则表达式转义 ``` >>> re.escape('.*a[0-1]') '\\.\\*a\\[0\\-1\\]' ``` ##一些flag re.I 忽略大小写 re.M 多行模式 ^代表字符串开头 $代表字符串结尾 re.S .可以代表任意字符,包括换行符 re.X 忽略空白字符,可以加注释 re.DEBUG 显示DEBUG信息 ##匹配到的对象 匹配的对象被分成了组,组是由括号分割的,组的序号由左括号的顺序决定,组0是整个字符串 ``` >>> re.search(r'a(b(c)d)','abcd').group(0) #group() 返回匹配的组 'abcd' >>> re.search(r'a(b(c)d)','abcd').group(1) 'bcd' >>> re.search(r'a(b(c)d)','abcd').group(2) 'c' >>> re.search(r'a(b(c)d)','abcd').group(1,2) ('bcd', 'c') >>> re.search(r'a(b(c)d)','abcd').start(1) #start() 返回一个组的开始的位置 1 >>> re.search(r'a(b(c)d)','abcd').end(1) #end() 返回一个组的结束位置 4 >>> re.search(r'a(b(c)d)','abcd').span(1) #span() 返回一个组的开始和结束的位置 (1, 4) ``` ##把组的概念用在sub 中来替换 ``` >>> re.sub(r'a((.)c)',r'\1==\2','abcdef') 'bc==bdef' ```
上一篇:
python 3.06 random 模块
下一篇:
python 3.08 getopt 模块
文档导航