特殊字符 | 描述 |
---|---|
\d | 匹配任何十进制数字,与[0-9]一致 |
\D | 匹配任意非数字 |
\w | 匹配任何字母数字下划线字符 |
\W | 匹配非字母数字及下划线 |
\s | 匹配任何空字符 |
\S | 匹配任何非空格字符,与[\n\t\r\v\f]相同 |
\A | 匹配字符串的起始 |
\Z | 匹配字符串的结束 |
. | 匹配任何字符(除了\n之外) |
符号 | 描述 |
---|---|
re1|re2 | 匹配正则表达式re1或者re2 |
^ | 匹配字符串起始部分 |
$ | 匹配字符串终止部分 |
* | 匹配0次或者多次前面出现的正则表达式 |
+ | 匹配1次或者多次前面出现的正则表达式 |
{N} | 匹配N次前面出现的正则表达式 |
{M,N} | 匹配M~N次前面出现的正则表达式 |
[...] | 匹配来自字符集的任意单一字符 |
[x-y] | 匹配x~y范围内中的任意单一字符 |
[^...] | 不匹配此字符集中出现的任何一个字符,包括某一范围内的字符 |
\ | 将特殊字符无效化 |
符号 | 描述 |
---|---|
() | 在匹配规则中获取指定的数据 |
查找字符串中所有(非重复)出现的正则表达式模式,并返回一个匹配列表
findall(pattern, string [,flags])
# pattern 正则表达式
# string 匹配的字符串
使用可选标记搜索字符串中第一次出现的正则表达式模式。如果匹配成功,则返回匹配对象;如果失败,则返回None
search(pattern, string, flags=0)
group(num)返回整个匹配对象,或者编号为num的特定子组
groups()返回一个包含所有匹配子组的元组(如果没有成功匹配,则返回一个空元组)
result = re.search(‘Hello (.*) name is (.*)‘, test)
result.groups() --> (‘my‘, ‘dewei‘)
result.group(1) --> ‘my‘
根据正则表达式的模式分隔符,split函数将字符串分割为列表,然后返回成功匹配的列表,分隔最多操作max次(默认分隔所有匹配成功的位置)
split(pattern, string, max=0)
# max默认为0,表示匹配所有
尝试使用带有可选的标记的正则表达式的模式来匹配字符串。如果匹配成功,就返回匹配对象;如果失败,就返回None
match(pattern, string, flags=0)
定义一个匹配规则对象
compile(pattern, flags=0)
import re
data = "Hell0 my email is dewei@imooc.com i like python"
re_obj = re.compile(‘email is (.*) i‘)
result = re_obj.findall(data)
result --> [‘dewei@imooc.com‘]
原文:https://www.cnblogs.com/C-yuyan/p/14401063.html