Python正则表达式之re.group()用法学习笔记
正则表达式是在处理字符串时非常有用的工具,而re.group()是在匹配到的文本中提取特定分组内容的方法之一。
在正则表达式中,通过圆括号可以创建一个或多个分组。re.group()用于获取匹配到的文本中的指定分组内容。
import re
# 示例正则表达式:提取日期中的年、月、日
pattern = r'(\d{4})-(\d{2})-(\d{2})'
date_string = '2022-01-15'
match = re.match(pattern, date_string)
if match:
# 使用group()获取整个匹配的内容
print("整个匹配的内容:", match.group())
# 使用group(1)、group(2)、group(3)获取各个分组的内容
print("年:", match.group(1))
print("月:", match.group(2))
print("日:", match.group(3))
else:
print("未匹配到日期格式")
输出结果:
整个匹配的内容: 2022-01-15
年: 2022
月: 01
日: 15
以此类推,可以使用group(n)来获取第n个分组的内容。
import re
# 示例正则表达式:匹配电子邮件地址,并提取用户名和域名
pattern = r'(\w+)@(\w+\.\w+)'
email = 'user@example.com'
match = re.match(pattern, email)
if match:
# 使用group()获取整个匹配的内容
print("整个匹配的内容:", match.group())
# 使用group(1)、group(2)获取用户名和域名
print("用户名:", match.group(1))
print("域名:", match.group(2))
else:
print("未匹配到电子邮件地址")
输出结果:
整个匹配的内容: user@example.com
用户名: user
域名: example.com
import re
pattern = r'\d+'
text = '123abc'
match_result = re.match(pattern, text)
if match_result:
print("Match found:", match_result.group())
else:
print("No match")
输出结果:
Match found: 123
import re
pattern = r'\d+'
text = 'abc123def'
search_result = re.search(pattern, text)
if search_result:
print("Match found:", search_result.group())
else:
print("No match")
输出结果:
Match found: 123