python re 正則表達式
夜深了。敲击键盘。用CSDN整理下python re
正則表達式是含有文本和特别字符的字符串,这些文本和特别字符描写叙述的模式能够识别各种字符串。
一下我们从实例结合理论来学习理解吧...
经常使用正則表達式符号:
记号 说明 实例
re1|re2 匹配正则re1或者re2 foo|bar
. 匹配不论什么字符(换行符除外) b.b
^ 匹配字符串的開始 ……Dear
$ 匹配字符串的结尾 /bin/*sh$
* 匹配前面出现的正则0次或多次 [A-Za-z0-9]*
+ 匹配前面出现的正则1次或多次 [a-z]+\.com
? 匹配前面出现的正则1次或多次 goo?
{N} 匹配前面出现的正则N次 [0-9]{3}
{M,N} 匹配反复出现M次到N次的正则 [0-9]{2,4}
[...] 匹配字符组里出现的随意一个字符 [aeiou]
[...x-y...] 匹配x到y中的随意一个字符 [0-9],[A-Za-z]
[^...] 不匹配此字符集中的随意一个字符 [^aeiou]
(...) 匹配封闭括号里正则,并保存为子组 ([0-9]{3})?
特殊正則表達式符号:
\d 匹配不论什么数字,和[0-9]一样。(\D是\d的反义:不论什么非数符字) data\d+.txt
\w 匹配不论什么数字字母字符,同[A-Za-z0-9]。(\W的反义) [A-Za-z]\w+
\s 匹配不论什么空白符,同[\n\t\r\v\f]。
(\S的反义) of\sthe
\b 匹配单词边界(\B的反义) \bthe\b
\nn 匹配已保存的子组
\c 依次匹配特殊字符 c (即取消他的特殊含义,依照字面匹配) \.,\\,\*
\A (\Z) 匹配字符串的起始(结束) \ADear
实例:
import re
m = re.match('ab','abefghab')
m.groups()
m=re.match('foo','foo')
m.group()
m=re.match('ab|cd','abcdef')
m.group()
m=re.match('foo','food on the table')
m.group()
m=re.match('foo','fd on the foo')#error
m=re.search('foo','fd on the foo')
m=re.match('.end','bend the the')
m=re.match('.*end','how?bend the the')
m=re.match('.*end','how?\nbend the the')#error \n
m=re.match('[cr][23][dp][o2]','c2p2')
m=re.match('[cr][23][dp]?[o2]?
','c2p2')
m=re.match('[cr][23][dp][o2]?','c2pippp')
m=re.match('\w+@(\w+\.)?\w+\.com','abs@jimi.com')
m=re.match('\w+@(\w+\.)?\w+\.com','abggddds@local.jimi.com')
m=re.match('\w\w\w-\d\d\d','abc-123')
m=re.match('(\w\w\w)-(\d\d\d)','abc-123') #m.groups()
m=re.match('(a)(b)','abcefg')#m.group(1) m.group(2) m.groups()
m=re.match('^the','the bank')
m=re.search('^the','end the')#error
m=re.search(r'\bthe','bite dog the')
m=re.search(r'\Bthe','bitethe dog')
re.findall('car','carry the barcardi to the car')
re.sub('X','Mr.Smith','attn:X\n\nDear X,\n')
re.subn('[ab]','X','agirlbeatshe')
re.split(':','str1:str2:str3')
con='jimi im you'
open('okay.txt','w').write(con)
a
python re 正則表達式的更多相关文章
- python使用正則表達式
python中使用正則表達式 1. 匹配字符 正則表達式中的元字符有 . ^ $ * + ? { } [ ] \ | ( ) 匹配字符用的模式有 \d 匹配随意数字 \D 匹配随意非 ...
- Python基础--正則表達式基本的语法以及re模块
正则是个非常牛逼的东西,python中当然也不会缺少. 所以今天的Python就跟大家一起讨论一下python中的re模块. re模块包括对正則表達式的支持. 什么是正则: 正則表達式是能够匹配文本片 ...
- python 学习笔记 10 -- 正則表達式
零.引言 在<Dive into Python>(深入python)中,第七章介绍正則表達式,开篇非常好的引出了正則表達式,以下借用一下:我们都知道python中字符串也有比較简单的方法, ...
- Python正則表達式:怎样使用正則表達式
正則表達式(简称RE)本质上能够看作一个小的.高度专业化的编程语言,在Python中能够通过re模块使用它.使用正則表達式,你须要为想要匹配的字符串集合指定一套规则,字符串集合能够包括英文句子.e-m ...
- python进阶十_正則表達式(一)
近期状态一直不太好,至于原因,怎么说呢,不好说,总之就是纠结中覆盖着纠结,心思全然不在点上,希望能够借助Python的学习以及博客的撰写来调整回来,有的时候回头想一想,假设真的是我自己的问题呢,曾经我 ...
- 正則表達式re中的贪心算法和非贪心算法 在python中的应用
之前写了一篇有关正則表達式的文章.主要是介绍了正則表達式中通配符 转义字符 字符集 选择符和子模式 可选项和反复子模式 字符串的開始和结尾 ,有兴趣的能够查看博客内容. 此文章主要内容将要介绍re中的 ...
- Python学习笔记8:标准库之正則表達式
Python拥有强大的标准库.从如今起,開始学习标准库中提供的一些经常使用功能. 首先看正則表達式(regular expression),它的主要功能是从字符串(string)中通过特定的模式(pa ...
- Python——正則表達式(2)
本文译自官方文档:Regular Expression HOWTO 參考文章:Python--正則表達式(1) 全文下载 :Python正則表達式基础 ======================== ...
- Python正則表達式小结(1)
学习一段python正則表達式了, 对match.search.findall.finditer等函数作一小结 以下以一段网页为例,用python正則表達式作一个范例: strHtml = '''& ...
随机推荐
- 2.7 C++构造函数
参考:http://www.weixueyuan.net/view/6339.html 总结: 如果在类中声明了任何一个构造函数,则系统不会自动生成默认构造函数.构造函数同样能够使用类中的成员变量. ...
- Java 利用poi生成excel表格
所需jar包,如下所示 写一个excel工具类 ExcelUtils .java import java.lang.reflect.Field; import java.util.Iterator; ...
- Zynq-PL中创建AXI Master接口IP及AXI4-Lite总线主从读写时序测试(转)
转载:原文 http://www.eefocus.com/antaur/blog/17-08/423751_6cc0d.html 0. 引言 通过之前的学习,可以在PL端创建从机模式的AXI接口IP ...
- git中误删提交(commit)后,怎么恢复
“xml文件存储数据”提交被我误操作,即使用reset --hard删除了,然后又进行了三次提交,发现删除的提交有用,需要找回来, 于是找了好久,找到好方法: 1.进入工程下的.git文件下,git ...
- http协议相关
HTTP请求方法 HTTP消息头 HTTP请求头 HTTP响应头 HTTP cookie机制和实现原理 HTTP请求方法 超文本传输协议(HTTP, HyperText Transfer Protoc ...
- 简单的SpringWebFlow例子及遇到的问题
这段时间在看<Spring 实战>里面有讲Spring Web Flow,觉得里面的例子过于复杂,不适合新手,于是在网上找了个例子,跟着写 以下是项目的目录,我是基于maven搭建项目的 ...
- MYSQL MyISAM与InnoDB对比
1. 区别: (1)事务处理: MyISAM是非事务安全型的,而InnoDB是事务安全型的(支持事务处理等高级处理): (2)锁机制不同: MyISAM是表级锁,而InnoDB是行级锁: (3)sel ...
- mysql解决数据库高并发
分表分库 数据库索引 redis缓存数据库 读写分离 负载均衡: 将大量的并发请求分担到多个处理节点,由于单个处理节点的故障不影响服务,负载均衡集群同事也实现了高可用性.
- python 一次创建多级目录
python 一次创建多级目录沙漠骆驼:qq音乐import osos.mkdirs('/home/user/app')
- awk入门及进阶
awk是Linux下优良的文本处理工具,有自成一体的编程语法规则,在循环和条件判断语句等方面和C语言很像. 其一般形式是:Pattern1 {ACTIONS; } Pattern2 { ACTIONS ...