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 正则表达式的基本语法和常见用例。

标签列表