Python中的正则表达式(Regular Expression)是一种用于处理字符串的强大工具。它可以执行以下操作:
- 匹配:确定字符串是否符合正则表达式模式。
- 搜索:在字符串中查找符合模式的子串。
- 替换:将符合模式的子串替换为其他字符串。
- 分割:根据模式将字符串分割成多个子串。
Python中的re
模块提供了正则表达式的功能。以下是一些常用的函数和方法:
匹配
re.match(pattern, string, flags=0)
:从字符串开头开始匹配模式。re.search(pattern, string, flags=0)
:在整个字符串中搜索符合模式的第一个子串。
搜索
re.findall(pattern, string, flags=0)
:返回字符串中所有符合模式的子串列表。re.finditer(pattern, string, flags=0)
:返回一个迭代器,产生匹配对象。
替换
re.sub(pattern, repl, string, count=0, flags=0)
:将字符串中符合模式的子串替换为repl
。re.subn(pattern, repl, string, count=0, flags=0)
:返回一个元组,包含替换后的字符串和替换次数。
分割
re.split(pattern, string, maxsplit=0, flags=0)
:根据模式将字符串分割成子串列表。
常用标志
re.IGNORECASE
或re.I
:忽略大小写。re.MULTILINE
或re.M
:使^
和$
匹配每一行的开始和结束,而不仅仅是整个字符串的开始和结束。re.DOTALL
或re.S
:使.
匹配任何字符,包括换行符。re.UNICODE
或re.U
:使正则表达式基于Unicode字符属性进行匹配。
正则表达式模式示例
\d+
:匹配一个或多个数字。[a-zA-Z]+
:匹配一个或多个字母(不区分大小写)。\w+
:匹配一个或多个字母、数字或下划线(等价于[a-zA-Z0-9_]+
)。\W+
:匹配一个或多个非字母、数字和下划线的字符。^.*$
:匹配整个字符串(忽略空行)。^\d+$
:匹配仅包含数字的字符串。^\w+$
:匹配仅包含字母、数字和下划线的字符串。.*\.txt$
:匹配以.txt
结尾的字符串。
通过熟练掌握这些正则表达式操作和模式,你可以更有效地处理和分析字符串数据。