正则表达式整理
2018-02-20 22:38
218 查看
/d:匹配一个数字,data
/w:匹配一个数字或一个单词,word
/s:匹配一个空格(包含tab),space
/W:匹配所有非单词和下划线
*表示任意个,+表示至少一个,?表示0个或一个,{n}表示n个,{m,n}表示m~n个。为了使正则表达式匹配的范围自定义,可以使用[],将想要匹配的所有符号写在[]中,比如[0-9a-zA-Z\_]匹配一个数字或字母或者下划线。关于正则表达式中的两次转义,一次转义是转为特殊符号,一次转义是转义为字符串,当加上r之后,已经默认转为字符串,因此只需要一次转义。使用正则表达式的妙处:1.可以检查输入字符串是否正确--检测匹配问题
2.利用正则表达式的split方法来划分字符串,划分标准可以使用正则表达式指定。
注意:1.关于贪婪匹配,加个?就可以实现非贪婪匹配;2.如果一个正则表达式要重复使用几千次,出于效率的考虑,我们可以预编译该正则表达式,使用compile先编译正则表达式。re.match()与re.search()的区别:re.match()总是从字符串的开头开始匹配,而re.seach()函数将对整个字符串进行搜索,并返回第一个匹配的字符串的match对象。例如:In:print(re.match(r'([A-Za-z]+)\.','Hello,world.' ))
Out:NoneIn:print(re.search(r'([A-Za-z]+)\.','Hello,world.' ))Out:<_sre.SRE_Match object; span=(6, 12), match='world.'>3.正则表达式中的圆括号()和大方框[]的区别:大方框[]是组成了一个匹配范围,可以在这个范围后面加上?表示范围内选择0个或1个字符,+表示匹配[]当中至少一个字符等等,例如[\+\-]?可以匹配‘+’和‘-’和‘ ’;圆括号()是一个分组,这个分组中的正则表达式是一个统一的整体,可以表示出这个组的构成,比如(\+\-)?可以匹配‘+-’和‘ ’。一般这两种可以搭配使用。
/w:匹配一个数字或一个单词,word
/s:匹配一个空格(包含tab),space
/W:匹配所有非单词和下划线
*表示任意个,+表示至少一个,?表示0个或一个,{n}表示n个,{m,n}表示m~n个。为了使正则表达式匹配的范围自定义,可以使用[],将想要匹配的所有符号写在[]中,比如[0-9a-zA-Z\_]匹配一个数字或字母或者下划线。关于正则表达式中的两次转义,一次转义是转为特殊符号,一次转义是转义为字符串,当加上r之后,已经默认转为字符串,因此只需要一次转义。使用正则表达式的妙处:1.可以检查输入字符串是否正确--检测匹配问题
if re.match(r'正则表达式', test): print('ok')test是输入的字符串。
2.利用正则表达式的split方法来划分字符串,划分标准可以使用正则表达式指定。
re.split(r'\s+', 'a b c') ---- ['a', 'b', 'c']3.从字符串中提取分组groups,用括号()表示分组
m = re.match(r'^(\d{3})-(\d{3,8})$', '010-12345')
>>> m.group(0) '010-12345' >>> m.group(1) '010' >>> m.group(2) '12345'
注意:1.关于贪婪匹配,加个?就可以实现非贪婪匹配;2.如果一个正则表达式要重复使用几千次,出于效率的考虑,我们可以预编译该正则表达式,使用compile先编译正则表达式。re.match()与re.search()的区别:re.match()总是从字符串的开头开始匹配,而re.seach()函数将对整个字符串进行搜索,并返回第一个匹配的字符串的match对象。例如:In:print(re.match(r'([A-Za-z]+)\.','Hello,world.' ))
Out:NoneIn:print(re.search(r'([A-Za-z]+)\.','Hello,world.' ))Out:<_sre.SRE_Match object; span=(6, 12), match='world.'>3.正则表达式中的圆括号()和大方框[]的区别:大方框[]是组成了一个匹配范围,可以在这个范围后面加上?表示范围内选择0个或1个字符,+表示匹配[]当中至少一个字符等等,例如[\+\-]?可以匹配‘+’和‘-’和‘ ’;圆括号()是一个分组,这个分组中的正则表达式是一个统一的整体,可以表示出这个组的构成,比如(\+\-)?可以匹配‘+-’和‘ ’。一般这两种可以搭配使用。
相关文章推荐
- JavaScript操作大全整理(思维导图九--正则表达式)
- 正则表达式整理[转载请声明]
- [转载]C#正则表达式整理备忘
- 常用正则表达式整理
- 黄聪:C#正则表达式整理备忘
- C#正则表达式整理备忘
- 验证数字的正则表达式整理小集
- Qt中正则表达式小研究整理
- 常用的正则表达式匹配规则整理
- 【转】C#正则表达式整理备忘
- 正则表达式整理
- 收集整理项目中常用到的正则表达式
- [.net]正则表达式整理
- 常用正则表达式整理
- notepad、editplus等软件常用的文本整理正则表达式
- C#正则表达式整理备忘 转载(http://www.cnblogs.com/KissKnife/archive/2008/03/23/1118423.html)
- 常用正则表达式 整理篇
- C#正则表达式整理备忘 (转帖)
- PHP正则表达式学习笔记整理