Python正则表达式处理re模块

1、re.match(pattern, string) 从字符串的开头开始匹配模式,如果匹配成功则返回匹配对象,否则返回 None

import re

pattern = re.compile(r'\d+')
result = pattern.match("123abc")
if result:
    print(result.group())  # 输出: 123

2、re.findall(pattern, string) 返回字符串中所有与模式匹配的非重叠子字符串列表。

import re

pattern = re.compile(r'\d+')
result = pattern.findall("abc123def456")
print(result)  # 输出: ['123', '456']

3、re.sub(pattern, repl, string) 用指定的字符串 repl 替换字符串中所有与模式匹配的子字符串。

import re

pattern = re.compile(r'\d+')
result = pattern.sub('X', "abc123def456")
print(result)  # 输出: 'abcXdefX'

4、re.split(pattern, string) 使用模式分隔字符串,并返回分隔后的子字符串列表。

import re

pattern = re.compile(r'\s+')
result = pattern.split("Hello  World")
print(result)  # 输出: ['Hello', 'World']

re 模块中的 group() 方法用于获取正则表达式匹配的文本的子字符串,特别是在正则表达式中使用括号来创建分组时,可以使用 group() 方法来获取每个分组匹配的内容。以下是 group() 方法的常用用法:

1. group() 返回整个正则表达式匹配的文本。

import re

pattern = re.compile(r'\d+')
result = pattern.search("abc123def")
if result:
    print(result.group())  # 输出: '123'

2. group(n): 返回第 n 个括号分组匹配的文本。分组编号从1开始,0 表示整个模式。

import re

pattern = re.compile(r'(\d+)-(\d+)-(\d+)')
result = pattern.match("2022-10-10")
if result:
    print(result.group(1))  # 输出: '2022'
    print(result.group(2))  # 输出: '10'
    print(result.group(3))  # 输出: '10'

3. groups(): 返回一个包含所有括号分组匹配文本的元组。

import re

pattern = re.compile(r'(\d+)-(\d+)-(\d+)')
result = pattern.match("2022-10-10")
if result:
    print(result.groups())  # 输出: ('2022', '10', '10')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值