在Python正则表达式中,捕获组用于将匹配的内容分组并且进行存储,以便后续引用或处理。可以使用括号来创建捕获组,并且可以通过索引或名称来引用它们。
下面是一些常用的捕获组的正则用法示例:
使用索引引用捕获组:
xxxxxxxxxximport re text = "Hello World"pattern = r"(Hello) (World)"match = re.search(pattern, text)if match: print(match.group(0)) # 输出完整的匹配结果 "Hello World" print(match.group(1)) # 输出第一个捕获组的内容 "Hello" print(match.group(2)) # 输出第二个捕获组的内容 "World"
xxxxxxxxxx
import re
text = "Hello World"
pattern = r"(Hello) (World)"
match = re.search(pattern, text)
if match:
print(match.group(0)) # 输出完整的匹配结果 "Hello World"
print(match.group(1)) # 输出第一个捕获组的内容 "Hello"
print(match.group(2)) # 输出第二个捕获组的内容 "World"
使用名称引用捕获组:
xxxxxxxxxximport re text = "Hello World"pattern = r"(?P<greeting>Hello) (?P<subject>World)" # 使用命名捕获组match = re.search(pattern, text)if match: print(match.group("greeting")) # 通过名称引用捕获组的内容 "Hello" print(match.group("subject")) # 通过名称引用捕获组的内容 "World"
pattern = r"(?P<greeting>Hello) (?P<subject>World)" # 使用命名捕获组
print(match.group("greeting")) # 通过名称引用捕获组的内容 "Hello"
print(match.group("subject")) # 通过名称引用捕获组的内容 "World"
使用捕获组进行替换:
xxxxxxxxxximport re text = "Hello World"pattern = r"(Hello) (World)"replacement = r"\2 \1" # 替换捕获组的顺序new_text = re.sub(pattern, replacement, text)print(new_text) # 输出 "World Hello"
replacement = r"\2 \1" # 替换捕获组的顺序
new_text = re.sub(pattern, replacement, text)
print(new_text) # 输出 "World Hello"
注意,捕获组的索引从1开始,0表示整个正则表达式的匹配结果。命名捕获组可以通过group("name")的方式来引用。捕获组在处理文本、重排文本或提取特定部分等场景中非常有用。
group("name")
正则表达式付费代写、咨询、答疑解惑,专业、快速、高效帮您解决正则表达式方面的各种问题,可定制各类软件应用程序。
正则学习工作必备在线工具合集
.
^
$
\d
\w
\s
\D
\W
\S
[abc]
[a-z]
[^abc]
aa|bb
?
*
+
{n}
{n,}
{m,n}
(
)
\1
(?:
(?=
(?!
在线客服QQ:543690914,备案号: 苏ICP备15037649号-32。东海县白塔埠镇佳诚电脑经营部版权所有。