正则
re.search():在字符串中搜索第一个匹配模式的子串,返回一个 Match 对象
re.match():在字符串的开头搜索匹配模式的子串,如果失败则返回 None
re.findall():在字符串中找到所有匹配模式的子串,返回一个列表 (常用)
re.sub():在字符串中替换所有匹配模式的子串
import re
# 使用 re.search() 函数查找匹配模式
text = "6Hello, World! 123-456-7890"
pattern = r"\d{3}-\d{3}-\d{4}"
# re.search():在字符串中搜索第一个匹配模式的子串,返回一个 Match 对象
result = re.search(pattern, text)
if result:
print("Match found:", result.group())
else:
print("Match not found.")
Match found: 123-456-7890
result
<re.Match object; span=(17, 29), match='123-456-7890'>
# re.match():在字符串的开头搜索匹配模式的子串,如果失败则返回 None
pattern = "\d"
result = re.match(pattern, text)
print(result)
<re.Match object; span=(0, 1), match='6'>
print(result.group())
6
# re.findall():在字符串中找到所有匹配模式的子串,返回一个列表 (常用)
pattern = r'\b\w+\b' # 匹配一个或多个字母、数字或下划线组成的单词 \b 匹配单词
result = re.findall(pattern, text)
print('Result:', result)
Result: ['6Hello', 'World', '123', '456', '7890']
# re.sub():在字符串中替换所有匹配模式的子串
pattern = r'\s+' # 匹配一个或多个空格
result = re.sub(pattern, ' ', text)
print('Result:', result)
Result: 6Hello, World! 123-456-7890
text.replace(' '," ")
'6Hello, World! 123-456-7890'
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 为了增加可读性,忽略空格和 # 后面的注释
pattern = "hello"
result = re.findall(pattern, text,re.I)
result
['Hello']
.*? () ^a.+?a$ awawa [(ab)cd] =》 a(b|c) = > ab ac
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 为了增加可读性,忽略空格和 # 后面的注释- .
匹配任意单个字符,除了换行符 (\n)。
^
匹配字符串的开始。$
匹配字符串的结束。*
匹配前面的字符0次或多次。+
匹配前面的字符1次或多次。?
匹配前面的字符0次或1次。{}
指定前面的字符出现的次数。[]
匹配方括号中的任意单个字符。|
指定多个匹配模式,匹配任意一个。()
将多个字符当作单个字符处理。
常用元字符
代码 | 说明 |
---|---|
. | 匹配除换行符以外的任意字符 |
\w | 匹配字母或数字或下划线 |
\s | 匹配任意的空白符 |
\d [0-9] | 匹配数字 |
\b | 匹配单词的开始或结束 |
^ | 匹配字符串的开始 |
$ | 匹配字符串的结束 |
常用限定符
代码/语法 | 说明 |
---|---|
* | 重复零次或更多次 |
+ | 重复一次或更多次 |
? | 重复零次或一次 |
{n} | 重复n次 |
{n,} | 重复n次或更多次 |
{n,m} | 重复n到m次 |
常用反义词
代码/语法 | 说明 |
---|---|
\W | 匹配任意不是字母,数字,下划线,汉字的字符 |
\S | 匹配任意不是空白符的字符 |
\D | 匹配任意非数字的字符 |
\B | 匹配不是单词开头或结束的位置 |
[^x] | 匹配除了x以外的任意字符 |
[^aeiou] | 匹配除了aeiou这几个字母以外的任意字符 |
[\s\S] \d \w [^ a]
正则表达式参考大全
help(re)
暂无评论内容