首页 > 其他 > 详细

re正则

时间:2021-02-14 09:36:40      阅读:23      评论:0      收藏:0      [点我收藏+]

正则表达式模块-re

正则表达式中的特殊字符

特殊字符 描述
\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范围内中的任意单一字符
[^...] 不匹配此字符集中出现的任何一个字符,包括某一范围内的字符
\ 将特殊字符无效化

组的概念

符号 描述
() 在匹配规则中获取指定的数据

re模块中的函数方法

findall()方法

查找字符串中所有(非重复)出现的正则表达式模式,并返回一个匹配列表

findall(pattern, string [,flags])
# pattern  正则表达式
# string   匹配的字符串

search()方法

使用可选标记搜索字符串中第一次出现的正则表达式模式。如果匹配成功,则返回匹配对象;如果失败,则返回None

search(pattern, string, flags=0)

group()与groups()

group(num)返回整个匹配对象,或者编号为num的特定子组

groups()返回一个包含所有匹配子组的元组(如果没有成功匹配,则返回一个空元组)

result = re.search(‘Hello (.*) name is (.*)‘, test)

result.groups()   -->  (‘my‘, ‘dewei‘)
result.group(1)   -->  ‘my‘

split()正则替换

根据正则表达式的模式分隔符,split函数将字符串分割为列表,然后返回成功匹配的列表,分隔最多操作max次(默认分隔所有匹配成功的位置)

split(pattern, string, max=0)
# max默认为0,表示匹配所有

match()

尝试使用带有可选的标记的正则表达式的模式来匹配字符串。如果匹配成功,就返回匹配对象;如果失败,就返回None

match(pattern, string, flags=0)

compile()

定义一个匹配规则对象

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‘]

re正则

原文:https://www.cnblogs.com/C-yuyan/p/14401063.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!