码迷,mamicode.com
首页 > 编程语言 > 详细

Python中的正则表达式

时间:2018-06-25 21:46:22      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:spl   图片   包含   search   pytho   class   hide   16px   arch   

技术分享图片技术分享图片

原子

 

原子是正则表达式中最基本的组成单位,每个正则表达式中至少要包含一个原子。常见的原子类型有:
a普通字符作为原子
b非打印字符作为原子
c通用字符作为原子
d原子表。

 

技术分享图片
import re 
string="taoyunjiaoyu"
#普通字符作为原子
pat="yum"
rst=re.search(pat,string)
print(rst)
#非打印字符作为原子
#\n换行符\t制表符
string=""taoyunjiaoyu
baidupat="\n"
rst=re.search(pat,string)
print(rst)
#通用字符作为原子
\w字母、数字、下划线
\W除字母、数字、下划线
\d 十进制数字
\D除十进制数字
\s 空白字符
\S除空白字符
string=‘‘‘taoyunji8 7362387aoyubaidu‘"‘
pat="\w\d\s\d\d"
rst=re.search(pat,string)
print(rst)
#原子表
string=‘’‘taoyunji87362387aoyubaidu’‘’
pat="tao[abd]"
pat="tao[^abd]"
rst=re.search(pat,string)
print(rst)
View Code

元字符

所谓的元字符,就是正则表达式中具有一些特殊含义的字符,比如重复N次前面的字符等。

技术分享图片
.  除换行外任意一个字符
^ 开始位置
$ 结束位置
* 0\1\多次
?01次
+ 1\多次
{n}恰好n次
{n,}至少n次
In,m}至少n,至多m次
| 模式选择符或
() 模式单元
View Code

模式修政符

所谓的模式修正符,即可以在不改变正则表达式的情况下,通过模式修正符改变正则表达式的含义,从而实现一些匹配结果的调整等功能。

 I匹配时忽略大小写

技术分享图片
string="Python"
pat="pyt"
rst=re.search(pat,string,re.I)
print(rst)
View Code

M多行匹配

L本地化识别匹配
U unicode
S让.匹配包括换行符

贪婪模式&懒惰模式

贪婪模式的核心点就是尽可能多的匹配,而懒惰模式的核心点就是尽可能少的匹配。

技术分享图片
#贪婪模式与懒惰模式
string="povthonyhjskjsa"
pat1="p.*y"            #贪婪模式    
pat2="p.*?y"           #懒惰模式    
rst=re.search(pat1,string,re.l)
rst2=re.search(pat2,string,re.l)
print(rst)
print(rst2)
View Code

正则表达式函数

re.match()函数:从头开始匹配,匹配一个

re.search()函数:从任意位置开始匹配,匹配一个

全局匹配函数

全局匹配格式:       re.compile(正则表达式).findall(数据)

Python中的正则表达式

标签:spl   图片   包含   search   pytho   class   hide   16px   arch   

原文地址:https://www.cnblogs.com/kelamoyujuzhen/p/9226214.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!