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

Python 基础 - Day 5 Learning Note - 模块 之 标准库:RE (14) 正则表达式

时间:2017-11-03 11:03:30      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:ica   小数   rowspan   两种   电子邮件   字符集   bat   格式   .com   

RE 模块介绍

正则表达式(RE)用作于处理文件和数据,为高级文本模式匹配,以及搜索-替代等功能提供基础。 实质就是一些由字符和特殊符号(元字符:metacharacter)组成的字符串,它们描述了这些字符和字符的某种重复方式,因此能按某种模式匹配一个有相似特征的字符串的集合,也能按某种模式匹配一系列有相似特征的字符串,我们称为模式匹配 (patten match)。 在python中, pattern-match 有两种主要方式完成: 搜索(search)和匹配(match)。 搜索,在字符串任意部分中搜索匹配的模式;匹配,判断一个字符串能否从起始处全部或部分的匹配某个模式。

元字符表 metacharacter 

符号 描述 正则表达式 匹配的字符串
 使用择一匹配多个正则表达式模式,也称为union 或 Logical OR
 re1|re2 匹配正则表达式re1re2 bat|bet|bit bat、bet、bit 
匹配任意单个字符
 .  

匹配任何字符(除了\n之外),

包括字母、数字、空格(并不包括“\n”换位符)、可打印和不可打印字符。

显示句点符号本身,需要用”\.“  

f.o  匹配在字母“f”和“o”之前任意一个字符;例如fao,f9o,f#o 
.. 任意两个字符 
 .end 匹配在字符串“end”之前的任意一个字符 
从字符串起始或者结尾或者单词边界匹配   
^或\A 匹配字符串起始部分  ^Dear  任何以Dear作为起始的字符串
$或\Z 匹配字符串终止部分   /bin/tesh$ 任何以/bin/tesh作为结尾的字符串
    ^Subject:hi$ 任何由单独的字符串Subject:hi构成的字符串 
\bBb 匹配一个单词的边界  \bthe 任何以the开始的字符串
 \bthe\b 仅仅匹配单词the 
\B 匹配出现在一个单词中间的模式 \Bthe  任何包含但并不以the作为起始的字符串 
创建字符集,限定范围和否定
[...]  匹配来自字符集的任意单一字符  b[aeiu]t bat、bet、bit、but 
 [cr][23][dp][o2] 一个包含四个字符的字符串,例如c2do\r3p2等
 [..x-y..] 匹配x~y范围中的任意单一字符  z.[0-9] 字母"z"后跟着任何字符,然后跟着一个数字
  [^...]  不匹配此字符集中出现的任何一个字符,包括某一范围的字符(如果在此字符集中出现)   [^aeiou]  一个非元音字符 
[^\t\n] 不匹配制表符或\n 
使用闭包操作符实现存在性和频数匹配   
* 匹配0次或者多次前面出现的正则表达式 [A-Za-z0-9]*  
+ 匹配1次或者多次前面出现的正则表达式  [a-z]+\.com  
匹配0次或者1次前面出现的正则表达式  [dn]ot? t出现一次或者不出现,即do,no,dot,not
{} {N}精确匹配N次前面出现的正则表达式;{M,N}匹配M~N次前面出现的正则表达式  [0-9]{15,16} 匹配15或者16个数字(例如信用卡号码)
    </?[^>]+> 匹配全部有效(和无效的)HTML标签
表示字符集的特殊字符
 \d 匹配任何十进制数字, 等于[0-9]  \d{3}-\d{3}-\d{4} 美国电话号码的格式
 \D 不匹配任何非数值型的数字, 等于[^0-9]     
 \w 匹配任何字母数字字符,等于[A-Za-z0-9]   \w+@\w+\.com 以XXX@YYY.com格式表示的简单电子邮件地址 
\W  不匹配任何字母数字,等于[^A-Za-z0-9]     
 \s 匹配任何空格字符,等于[\n\t\r\v\f] (\S与之相反)    
使用圆括号指定分组
(...) 匹配封闭的正则表达式,然后存为子组; 用groups来体现 \d+(\.\d*)? 表示简单浮点数的字符串;也就是说,任何十进制数字,后面可以接一个小数点和零个或者多个十进制数字 
扩展表示法 
 (?...) 在判断匹配之前提供标记,实现一个前视(或者后视)匹配或者条件检查     
(?P<name>...)      

常用操作

re.match()

re.group()

.

Python 基础 - Day 5 Learning Note - 模块 之 标准库:RE (14) 正则表达式

标签:ica   小数   rowspan   两种   电子邮件   字符集   bat   格式   .com   

原文地址:http://www.cnblogs.com/lg100lg100/p/7414462.html

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