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']
总结: 用字符集[]或分组(?:)来组合多种匹配模式。


