正则表达式与re库快速入门
正则表达式以及python中re库的使用
文章字数: 1193
阅读时间: 3 分钟
阅读量:
正则表达式的快速入门
正则表示式在指定规则下匹配任何字符串通过正则表达式,我们实现指定文本的分割、文本的快速替换等等。
基本正则表达式语法
.: 匹配除换行符以外的任意一个字符。^: 匹配字符串的开始。$: 匹配字符串的结尾。*: 匹配前面的字符零次或多次。+: 匹配前面的字符一次或多次。?: 匹配前面的字符零次或一次。\d: 匹配一个数字字符,等价于 [0-9]。\D: 匹配一个非数字字符,等价于 [^0-9]。\w: 匹配一个字母、数字或下划线字符,等价于 [a-zA-Z0-9_]。\W: 匹配一个非字母、非数字、非下划线字符,等价于 [^a-zA-Z0-9_]。\s: 匹配一个空白字符(包括空格、制表符等),等价于 [\t\n\r\f\v]。\S: 匹配一个非空白字符,等价于 [^ \t\n\r\f\v]。[ ]: 匹配括号中的任意一个字符,例如 [aeiou] 匹配任意一个元音字母。{m,n}: 匹配前面的字符至少 m 次,至多 n 次。( ): 用于获取匹配的部分
python中的re模块
第一次直接看上面应该都会显得一脸懵逼,接下来我们通过python中的re模块来学习上面语法
re.search()
re.search(pattern, string)在字符串中查找正则表达式模式的第一次匹配。如果找到,返回 Match 对象,否则返回 None。
|
|
re.match()
re.match(pattern, string) 从字符串的起始位置匹配正则表达式。如果匹配成功,返回 Match 对象,否则返回 None。
|
|
re.findall()
re.findall(pattern, string) 返回字符串中所有与正则表达式匹配的部分,结果是一个列表。
|
|
re.sub()
re.sub(pattern, repl, string) 使用 repl 替换字符串中所有与正则表达式匹配的部分。
|
|
re.split()
re.split(pattern, string) 根据匹配的正则表达式分割字符串,返回一个列表。
|
|
提取邮箱实现
|
|
正则表达式具体解释:
-
[a-zA-Z0-9._%+-]+:[a-zA-Z0-9._%+-]:匹配电子邮件地址的本地部分(即 @ 符号前面的部分),包括字母、数字、点、下划线、百分号、加号、减号等字符。+:表示前面的字符集必须出现一次或多次。@:匹配 @ 符号,电子邮件地址的分隔符。
-
[a-zA-Z0-9.-]+:[a-zA-Z0-9.-]:匹配域名部分,域名可以包含字母、数字、点和短横线。+:表示前面的字符集必须出现一次或多次。
-
\.[a-zA-Z]{2,}:\.:匹配点 . 符号,表示域名与顶级域名之间的分隔符。[a-zA-Z]{2,}:匹配顶级域名部分,要求至少包含两个字母,例如 .com 或 .co.uk。