Python中如何表示小写字母g的两种匹配模式?

null
Python中如何表示小写字母g的两种匹配模式?

2 回复

在Python正则表达式中,小写字母g本身就是一个字面匹配模式,直接匹配字符"g"。如果你需要匹配两种不同的模式(比如"g"和某种变体),可以使用字符集或分组。

1. 直接匹配字面字符"g":

import re
pattern = r'g'  # 直接匹配小写字母g
text = "google"
matches = re.findall(pattern, text)
print(matches)  # 输出: ['g', 'g']

2. 匹配两种模式(例如"g"和"g"后面可选的某个字符):

import re
# 示例1:匹配"g"或"g"后跟一个数字
pattern1 = r'g\d?'  # 匹配g或g加一个数字
# 示例2:匹配"g"或"gr"
pattern2 = r'g(?:r)?'  # 非捕获分组匹配g或gr
# 示例3:使用字符集匹配g或G(不区分大小写)
pattern3 = r'[gG]'  # 匹配小写g或大写G

text = "gr8 g garden"
print(re.findall(pattern1, text))  # 输出: ['gr', 'g', 'g']
print(re.findall(pattern2, text))  # 输出: ['gr', 'g', 'g']
print(re.findall(pattern3, text))  # 输出: ['g', 'g', 'g']

总结: 用字符集[]或分组(?:)来组合多种匹配模式。


居然传不了图

回到顶部