python正则表达式(python正则函数)
简介:
Python正则表达式(Regular Expression)是用于匹配和操作文本的强大工具。Python 的标准库 re 提供了对此类表达式的支持。
多级标题:
一、正则表达式基本语法
二、re 模块函数
三、re 模块函数常用参数
四、几个常用的正则表达式实例
五、实例应用
六、总结
一、正则表达式基本语法:
Python 对正则表达式的支持基于 re 模块。Python re 模块具有广泛的正则表达式操作功能。正则表达式由字符和特殊符号组成,用于形成规则表达式。这些正则表达式用于匹配和操作字符串。
二、re 模块函数:
re.compile(pattern, flags=0):该函数用于将特定的正则表达式预编译成模式对象。
re.search(pattern, string, flags=0):该函数用于在整个字符串中搜索正则表达式模式,如果匹配成功,则返回匹配对象。
re.match(pattern, string, flags=0):该函数用于尝试从字符串的起始位置匹配一个正则表达式模式。如果匹配成功,则返回匹配对象。
re.findall(pattern, string, flags=0):该函数用于在整个字符串中搜索正则表达式模式,返回符合规则的所有匹配结果。
re.sub(pattern, repl, string, count=0, flags=0):该函数用于将字符串中符合正则表达式的字符替换为其他字符。
三、re 模块函数常用参数:
pattern:正则表达式。
string:待搜索的字符串。
flags:编译或搜索时可选的标志控制匹配方式。如 re.I 不区分大小写。
repl:用于替换的字符串。
count:匹配的最大数量。未指定默认替换全部匹配结果。
四、几个常用的正则表达式实例
1、匹配中文字符的正则表达式: [\u4e00-\u9fa5]
2、匹配 email 地址的正则表达式: \w+@(\w+\.)+\w+
3、匹配 URL 地址的正则表达式: [a-zA-z]+://[^\s]*
5、实例应用
实例一:获取页面中的所有链接
import re
import urllib.request
def get_links(url):
html = urllib.request.urlopen(url).read().decode('utf-8') # 获取页面内容并解码
reg = r'"((http|ftp)://.*?)"' # 匹配 url 的正则表达式
result = re.findall(reg, html)
return result
if __name__ == '__main__':
print(get_links('https://www.baidu.com'))
实例二:提取邮箱地址
import re
def get_emails(str):
reg = r'\w+@\w+\.\w+'
result = re.findall(reg, str)
return result
if __name__ == '__main__':
str = '我的邮箱是 abc@163.com,你的邮箱是 xyz@qq.com'
print(get_emails(str))
六、总结
Python 的 re 模块是一个强大的正则表达式工具,可用于字符串匹配和文本操作。本文介绍了几个基本的正则表达式实例以及 re 模块函数的常用参数和用法。通过这些内容,你应该能够更好地理解 Python 正则表达式的基本语法和常见用例。