码迷,mamicode.com
首页 > 其他好文 > 详细

re模块

时间:2019-10-24 13:23:48      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:find   去除   增加   元字符   特殊   结束   str   pytho   通配符   

一.简介

     用于string的模糊匹配,而string内置的方法是精确匹配。

二.字符匹配

1  普通字符

       用于精确匹配

2   元字符

     .   ^   $   *   +   ?  { }  |  ( )  \

   .   通配符除\n其余均可匹配

    ^  位置匹配,表示开始   $ 表示结束

import  re
ret=re.findall("^af","afghaf")
print(ret)
ret=re.findall("af$","afdfggaf")
print(ret)

  *,+,?,{}均表示重复次数

  *   0~+oo

+   1~+oo

?   1或0

{n,m} 表示n~m次   {1,}表示1到正无穷

    [ ]一次只能匹配一个,可以表示一个匹配集,又有取消元字符的功能

    [ ]中的特殊字符:\  ^取反  -表示范围

import re
ret = re. findall(  "[^4,5]" ,  "dgg4ffd5dd" )
print(ret)
ret = re. findall("[^a-z,4,5]" ,"sccf5673374"  )
print(ret)

    \:后面跟元字符,去除其特殊化,后面跟普通字符,增加特殊功能。

   \d   \D 表示数字  [0-9]   \s  \S表示空白字符[\t\n\r\f\v]

   \w \W表示[a-zA-Z0-9]   \b匹配一个特殊字符的边界,而不是匹配特殊字符(这里的特殊字符是非字母和数字的)

 

import re
ret = re.findall(r "I\b","hello I am a LI$T")
 print(ret)
ret = re.findall("a\\\\","a\sgvff")#匹配反斜杠
print(ret)

  四个反斜杠,Python解释一个\需要2个\,re模块对这2个\进行转义要4个\。

 

( ):表示分组

import re
ret = re.search("(?p<id>\d{11}),(?p<name>[a-z]*)     ","1445676556777567785ffhtfcg6")



ret1=ret.group("id")
ret2 = ret.group("name")
print(ret1,ret2)

|:表示或者用于分组

 

re模块

标签:find   去除   增加   元字符   特殊   结束   str   pytho   通配符   

原文地址:https://www.cnblogs.com/gjx1212/p/11731395.html

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