7.18 正则表达式汇总

it2022-05-05  73

---恢复内容开始---

Python 正则表达式

 

正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。

 

re.match函数

re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。

 

语法:

 

re.match(pattern, string, flags=0)

 

pattern--->匹配的正则表达式

string--->要匹配的字符串

flags--->标志位,用于控制正则表达式的匹配方式

 

 

 

re.search方法

re.search 扫描整个字符串并返回第一个成功的匹配。

 

 

语法:

 re.match(pattern, string, flags=0)

 

pattern--->匹配的正则表达式

string--->要匹配的字符串

flags--->标志位,用于控制正则表达式的匹配方式

 

检索和替换

 

re.sub(pattern,rep1,string,count=0,flags=0)

 

参数:

pattern : 正则中的模式字符串。repl : 替换的字符串,也可为一个函数。string : 要被查找替换的原始字符串。count : 模式匹配后替换的最大次数,默认 0 表示替换所有的匹配。

 

 

re.compile 函数

compile 函数用于编译正则表达式,生成一个正则表达式( Pattern )对象,供 match() 和 search() 这两个函数使用。

 

re.compile(pattern[,flags])

 

参数:

pattern : 一个字符串形式的正则表达式

flags : 可选,表示匹配模式,比如忽略大小写,多行模式等,具体参数为:

re.I 忽略大小写re.L 表示特殊字符集 \w, \W, \b, \B, \s, \S 依赖于当前环境re.M 多行模式re.S 即为 . 并且包括换行符在内的任意字符(. 不包括换行符)re.U 表示特殊字符集 \w, \W, \b, \B, \d, \D, \s, \S 依赖于 Unicode 字符属性数据库re.X 为了增加可读性,忽略空格和 # 后面的注释

 

 

findall

在字符串中找到正则表达式所匹配的所有子串并返回一个列表,如果没有找到匹配的,则返回空列表。

注意: match 和 search 是匹配一次 findall 匹配所有。

 

 

findall(string[, pos[, endpos]])

 

 

pattern = re.compile(r'\d+') # 查找数字 result1 = pattern.findall('runoob 123 google 456') result2 = pattern.findall('run88oob123google456', 0, 10) print(result1) print(result2)

输出结果:

['123', '456'] ['88', '12']

 

 

re.finditer

和 findall 类似,在字符串中找到正则表达式所匹配的所有子串,并把它们作为一个迭代器返回。

 

 

re.finditer(pattern, string, flags=0) import re it = re.finditer(r"\d+","12a32bc43jf3") for match in it:    print (match.group() )

输出结果:

12 32 43 3 .匹配除 "\n" 之外的任何单个字符。要匹配包括 '\n' 在内的任何字符,请使用象 '[.\n]' 的模式。\d匹配一个数字字符。等价于 [0-9]。\D匹配一个非数字字符。等价于 [^0-9]。\s匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。\S匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。\w匹配包括下划线的任何单词字符。等价于'[A-Za-z0-9_]'。\W匹配任何非单词字符。等价于 '[^A-Za-z0-9_]'。   [Pp]ython匹配 "Python" 或 "python"rub[ye]匹配 "ruby" 或 "rube"[aeiou]匹配中括号内的任意一个字母[0-9]匹配任何数字。类似于 [0123456789][a-z]匹配任何小写字母[A-Z]匹配任何大写字母[a-zA-Z0-9]

匹配任何字母及数字

[^aeiou]除了aeiou字母以外的所有字符[^0-9]

匹配除了数字外的字符

 

  

 

转载于:https://www.cnblogs.com/jackson669/p/11200076.html

相关资源:各显卡算力对照表!

最新回复(0)