自学Python标准库(11)

re---正则

1)re.compile(pattern,flags=0):将正则表达式的样式编译为一个正则表达式对象。

2)re.search(pattern,string,flag=0):扫描整个字符串找到匹配样式的第一个位置,并返回一个相应的匹配对象,如果没有匹配,返回None。

3)re.match(pattern,string,flag=0):如果string开始的0或多个字符匹配到了正则表达式,返回一个相应的匹配对象,如果没有匹配,返回None。

4)re.findall(pattern,string,flag=0):匹配字符串中所有与正则表达式匹配的全部字符串,返回一个列表。

5)re.fullmatch(pattern,string,flag=0):整个string匹配到正则表达式,返回一个相应的对象,否则返回None。

6)re.split(pattern,string,maxsplit=0,flag=0):用表达式分开string,如果在表达式中捕获到括号,那么所有的组里的文字也会包含在列表里,如果maxsplit非零,做多进行maxsplit次分割,剩下的字符全部返回到列表的最后一个元素。

        如果分隔符里有捕获组合,并且匹配到字符串的开始,那么结果将会以一个空字符串开始,结尾也一样。分割组将会出现在结果列表中同样的位置。

        样式的空匹配仅在与前一个空匹配不相邻时才会拆分字符串。

7)re.sub(pattern,repl,string,count=0,flag=0):返回通过repl替换在string最左边非重叠的pattern而获得的字符串。如果样式没有匹配到,则不加改变的返回string,repl可以是一个字符串或函数,如果是字符串,则其中任何反斜杠转义序列都被处理。如果是函数,会对每个非重复的pattern的情况调用,这个函数只能有一个匹配对象参数,并返回一个替换后的字符串。

        count是替换的最大次数,必须是非负整数,如果省略或为0,所有的匹配项都会替换,样式的空匹配仅在与当前一个空匹配不相邻时才会被替换。        

8)re.finditer(pattern,string,flag=0):表达式在string里所有的非重复匹配,返回一个迭代器保存匹配对象,string从左到右扫描,匹配按顺序排列,空匹配也包含在结果里。

9)re.subn(pattern,repl,string,count=0,flag=0):与sub()相同,但是返回元组(字符串,替换次数)。

10)re.escape(pattern):转义pattern中的特殊字符,如果想对任意可能包含正则表达式字符的文本字符串进行匹配,它就是有用的。

11)re.purge():清除正则表达式缓存。

12)re.A/re.ASCII:让\w,\W,\b,\B,\d,\D,\s,\S只匹配ASCII。

13)re.DEBUG:显示编译时的debug信息,没有内联标记。

14)re.I/re.IGNORECASE:忽略大小写匹配。

15)re.L/re.LOCALE:由当前语言区域决定\w,\W,\b,\B和大小写敏感匹配。

16)re.M/re.MULTLINE:设置以后,样式字符 '^' 匹配字符串的开始,和每一行的开始(换行符后面紧跟的符号);样式字符 '$' 匹配字符串尾,和每一行的结尾(换行符前面那个符号)。默认情况下,’^’ 匹配字符串头,'$' 匹配字符串尾。

17)re.S/re.DOTALL:让 '.' 特殊字符匹配任何字符,包括换行符;如果没有这个标记,'.' 就匹配 除了 换行符的其他任意字符。

18)re.X/re.VERBOSE:允许你编写更具可读性更友好的正则表达式。通过分段和添加注释。空白符号会被忽略,除非在一个字符集合当中或者由反斜杠转义,或者在 *?(?: or (?P<…> 分组之内。当一个行内有 # 不在字符集和转义序列,那么它之后的所有字符都是注释。

   

匹配字符:

1). :匹配除了换行的任意字符。

2)^ :匹配字符串开头。

3)$ :匹配字符串结尾。

4)* :匹配0到任意次重复,尽量多的匹配字符串。

5)+ :匹配1次到任意次重复。

6)? :匹配0到1次重复。

7){m}:匹配m个重复。

8){m,n}:进行m到n次匹配,在m和n之间取尽量多。

9)\ :转义特殊字符,或表示一个特殊序列。

10)[] :不是一个字符集合。

11)| :连接任意个表达式,从左到右匹配,匹配成功后,后面的不在匹配。

12)() :分组,匹配括号内的表达式,并标识出组合的开始和结尾。

13)\number:匹配数字代表组合。

14)\A:只匹配字符串开始。

15)\b:匹配空字符串。但只在单词开始或结尾的位置。

16)\B:匹配空字符串。但不能在单词开始或结尾的位置。

17)\d:匹配十进制数。

18)\D:匹配非十进制数字。

19)\s:匹配空白字符。

20)\S:匹配非空白字符。

21)\w:匹配词语字符。

22)\W:匹配非词语字符。

23)\Z:只匹配字符串尾

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值