re basic guide

Python中的re

元字符总览

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

[]

指定字符类, 含义是范围,匹配一组字符 [a-z]表示所有小写字母。
字符类里其他元字符不生效,在字符类里元字符被剥夺特殊性。
反字符类:
[^5] 匹配除了 5外任何字符 ^必须是字符类第一个字符,不然无取反的作用。

\

反斜杠后加其他字符的组合特指特殊序列,也用于转义。要取消本身含义需要'\\'
\w匹配任何字母数字字符,note:依据正则表达式模式的不同,分为以字节类和Unicodedata模块中标记为字母的所有字符。
在编译时提供re.ASCII可以表示更受限制的\w定义。

类型 含义
\d 任何十进制数字;这等价于类 [0-9]
\D 匹配任何非数字字符;这等价于类 [^0-9]
\s 匹配任何空白字符;这等价于类 [ \t\n\r\f\v]
\S 匹配任何非空白字符;这相当于类 [^ \t\n\r\f\v]
\w 匹配任何字母与数字字符;这相当于类 [a-zA-Z0-9_]
\W 匹配任何非字母与数字字符;这相当于类 [^a-zA-Z0-9_]

Repeat

* 匹配前一个字符0~多次, 贪婪的
例子: a[bcd]*b ,匹配类[bcd]中的零或多个字母
+ 匹配前一个字符1~多次
? 匹配0~1词
{m,n} 至少重复m次,最多n次。省略的话会m会是默认0,n为无限。

应用匹配

方法/属性 目的
match() 确定正则是否从字符串的开头匹配
search() 扫描字符串,查找此正则匹配的任何位置。
findall() 找到正则匹配的所有子字符串,并将它们作为列表返回。
finditer() 找到正则匹配的所有子字符串,并将它们返回为一个 iterator

  转载请注明: 世界的过客 re basic guide

 上一篇
工作三周年小结 工作三周年小结
哇,终于到三年了, 时间真是可怕的东西。不知不觉已经毕业三年了,感觉自己昨天才毕业 装嫩。 工作上就在写完两周年总结后,我换了工作,这份工作的面试经历也是很有意思的。 第一次电话面试的方式搞定所有轮次的面试, 第一次遇到面试会问编译原理的面
2019-07-06
下一篇 
git pre-commit workflow git pre-commit workflow
之前看了程序人生的一篇code is law,做了点小小的实践。想起在QQ群看到一个人的分享截图,于是就想将之前做的实践查到的资料删减翻译下整理成文章,如果万一有团队内部的技术分享会还是可以分享下的。 我想遵循pep8,我不想手动格式化
2019-03-06
  目录