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 = '''& ... 
随机推荐
- ASPNET MVC5 根 core
			Asp.Net Core MVC的开源地址:https://github.com/aspnet/Mvc Asp.net MVC的开源地址:http://aspnetwebstack.codeplex. ... 
- python基础练习。
			1,简单输入输出交互 输入姓名 name=input('请输入姓名:') 输入学号 number=input('请输入您的学号:') 输出姓名和学号 print('请确认您的姓名和学号:'name,n ... 
- 特殊权限stick_bit
			stick_bit 防删除位:文件是否可以被某用户删除,主要取决于该文件所在的目录是否对该用户具有写权限.如果没有写权限,则这个目录下的所有文件都不能删除,同时也不能添加新的文件.如果希望用户能够添加 ... 
- .NET 日期数据的格式化方法
			.HtmlEncode="False" .DataFormatString="{0:d}" C#格式化日期时间 DateTime dt = DateTime.N ... 
- 九、编写led驱动
			led.c #include <linux/init.h> #include <linux/module.h> #include <linux/cdev.h> #i ... 
- orm的理解
			orm:是对象->关系->映射,的简称. mvc或者mvc框架中包括一个重要的部分,就是orm,它实现了数据模型于数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可 ... 
- 启动mongodb出现的问题
			启动mongodb时,首先要启动服务端,然后再启动客户端 启动服务端 1.找到一个存放mongodb数据的目录 比如D盘下data中 2.找到mongodb下的bin目录 3.配置数据存放路径 m ... 
- Spring Boot 揭秘与实战(八) 发布与部署 - 开发热部署
			文章目录 1. spring-boot-devtools 实现热部署 2. Spring Loaded 实现热部署 3. 模板文件热部署 4. 源代码 Spring Boot 支持页面与类文件的热部署 ... 
- 对jQuery ajax的认识
			1.ajax() 方法通过 HTTP 请求加载远程数据. 2.该方法是 jQuery 底层 AJAX 实现.简单易用的高层实现见 $.get, $.post 等.$.ajax() 返回其创建的 XML ... 
- ubuntu安装nvidia驱动
			安装环境: ubuntu 版本:12.04.02 LTS 64bit nvidia 驱动版本:NVIDIA-Linux-x86_64-310.19.run nvidia 显卡:GT640 安装过程主 ... 
