Python正则表达式

Python正则表达式

原子是正则表达式中最基本的组成单位,每个正则表达式至少包含一个原子。常见原子类型有普通字符作为原子、非打印字符作为原子、通用字符作为原子、原子表。使用时需要调用re模块。

一、普通字符作为原子

     Eg:     import re

string=”taoyunjioayu”

pat=”yun”

              rst=re.search(pat,string)

              print(rst)

二、非打印字符作原子

Eg:   \n 换行符     \t 制表符

         import re

         string=```taoyunjiaoyu```

         pat=”\n”

         rst=re.search(pat,string)

         print(rst)

三、通用字符作为原子

     \w:代表任何一个字母、数字、下划线

     \W:代表任何一个非字母、数字、下划线

     \d:代表一个十进制数字

     \D:代表除十进制数字外的任何

     \s:空白字符

     \S:除空白字符

四、原子表

     几个原子放在[ ]内组成了原子表。原子表内的各个原子是平等的。表示从原子表中任意的提取一个原子出来。

Eg:[sdk] 

         表示从string中提取s,d,k原子中的任何一个出来。

   string=”djfhdkgsdk”

     pat=”kg[sdk]”

     rst=re.seach(pat,string)

     print(rst)

     运行结果:kgs

五、元字符

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

(1)   .  :匹配除换行符以外任意字符(称为“通配符”)

(2) ..  :模糊匹配

(3)  ^ :匹配开始位置

(4)  $ : 匹配结束位置

(5)  * :重复匹配

(6) ? :匹配出现0、1次

(7) +:匹配出现1次到多次

(8) {n}:恰好出现n次

(9) {n,m}:最少出现n次,最多出现m次

(10)          | :模式选择符或

(11) ( ) :模式单元

*等价于{0,正无穷}      +等价于{1,}     ?等价于{0,1}

六、模式修正符

     Eg: rst=”re.search(pat,string,re.I)”

         注:pat为正则表达式;string为数据源;I为模式修正符

     (1)I 匹配时忽略大小写

     (2)M 多行匹配

     (3)L 本地化匹配识别

     (4)U unicode的匹配

     (5)S 让 . 匹配包括换行符

七、正则表达式函数

      1.re.match:从头开始匹配

     2.re.search:任意地方都可匹配,只能匹配一次(匹配成功一次后则不再进行后面的匹配,而是直接输出结果)

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

     4、re.sub( ):用于字符串的替换

         re.sub(正则表达式,替换为的内容,源数据)

 

posted @ 2017-10-30 20:18  xsan  阅读(231)  评论(0编辑  收藏  举报