Skip to content

Latest commit

 

History

History
49 lines (37 loc) · 2.91 KB

15-2017-08-01-Python 核心编程:正则表达式.md

File metadata and controls

49 lines (37 loc) · 2.91 KB

Python 核心编程-2017-8-1-正则表达式

1、正则表达式

正则表达式最常用的符合和字符:

记号 说明 正则表达式样例
re1|re2 管道符号“|”,“或”操作 foo|bar
. 匹配任意一个单个字符 b.b
^ 匹配字符串的开始 ^abc
* 匹配零次或多次 *sh
+ 匹配一次或多次 [a-z]+.com
? 匹配零次或一次 goo?
{N} 匹配前面出现的正则表达式N [0-9]{3}
{M,N} 匹配重复出现M次到N次的正则表达式 [0-9]{3,5}
[...] 匹配字符组中出现的任意字符 [sdej]
[x-y] 匹配从x到y的任意一个字符 [0-9a-z]
[^...] 不匹配此字符集中出现的任何字符 [^a-z]
(*|+|?|{})? 重复匹配次数符号 .*?[a-z]
(...) 匹配括号中的正则表达式 ([0-9]{3})?
\d 匹配任意任何数字 data\d+.txt
\w 匹配任意数字字母字符 [a-zA-Z]\w+
\s 匹配任意空白字符 game\s+over
\b 匹配单词边界 \bthe\b
$ 匹配字符串的结尾 *sh$

2、正则表达式和Python语言

  Python使用的正则表达式是Perl5风格的,主要是使用re模块来对正则表达式进行使用。

re模块

方法 描述
compile(pattern, flags=0) 对正则表达式模式pattern进行编译
match(pattern, string, flags=0) 用正则表达式pattern匹配string,返回匹配的对象
search(pattern, string, flags=0) 在字符串string中搜索正则表达式pattern中第一次出现的字符串
findall(pattern, string, [,flags]) 在字符串string中搜索正则表达式匹配的所有字符串
finditer(pattern, string, [,flags]) 和findall()相同,但返回的不是列表而是迭代器
split(pattern, string, max=0) 根据正则表达式pattern中的分隔符将字符string分割成一个列表
sub(pattern, repl, string, max=0) 把字符串string中所有匹配正则表达式pattern的地方替换成字符串repl
group(num=0) 返回全部匹配对象
groups() 返回一个包含全部匹配的子组的元组