0
点赞
收藏
分享

微信扫一扫

re search group groups

import re

text = "Hello, 12345, 23456"
# text = "Hello"
pattern = r'\d{5}'  # 单个匹配

# 扫描整个字符串并返回第一个成功的匹配
match = re.search(pattern, text)
print(match)  # 如果没匹配到, 输入None, 此时不能使用group方法
print(match.group())  # 'NoneType' object has no attribute 'group'

if match:  # 存在 即 if match != None
    result = match.group()  # 获取完整匹配的字符串
    print("Match found:", result)
else:
    print("No match found")

<re.Match object; span=(7, 12), match='12345'>
12345
Match found: 12345

import re

text = "John Doe, Ann, Bob, johndoe@example.com"

# 匹配名字和邮箱的模式,使用括号分组
pattern = r'(\w+) (\w+), (\S+)'  # 多个匹配

# 在字符串中搜索匹配的模式
match = re.search(pattern, text)
print(match)
print(match.group()) # 返回全部多个匹配的第一个结果 如果没有匹配结果 会报错
print(match.groups())

if match:
    # 获取第一个括号分组(名字)
    first_name = match.group(1)
    print("First Name:", first_name)

    # 获取第二个括号分组(姓氏)
    last_name = match.group(2)
    print("Last Name:", last_name)

    # 获取第三个括号分组(邮箱)
    email = match.group(3)
    print("Email:", email)
else:
    print("No match found")

<re.Match object; span=(0, 14), match='John Doe, Ann,'>
John Doe, Ann,
('John', 'Doe', 'Ann,')
First Name: John
Last Name: Doe
Email: Ann,

import re

text = "John Doe, johndoe@example.com"

# 匹配名字和邮箱的模式,使用括号分组
pattern = r'(\w+) (\w+), (\S+)'

# 在字符串中搜索匹配的模式
match = re.search(pattern, text)

if match:
    # 获取所有括号分组的匹配结果
    groups = match.groups()
    print(groups)  # groups有别于group方法
    
    # 分别输出每个分组的匹配结果
    for i, group in enumerate(groups, start=1):
        print(f"Group {i}: {group}")
else:
    print("No match found")

('John', 'Doe', 'johndoe@example.com')
Group 1: John
Group 2: Doe
Group 3: johndoe@example.com

举报

相关推荐

0 条评论