在正则表达式中,你可以使用括号来捕获重复的模式,并使用问号来表示该模式是可选的。如果你想要捕获由可选的"和/或"分隔的重复组,可以使用以下代码示例:
import re
# 定义一个字符串
string = "apple,orange,banana"
# 使用正则表达式匹配重复组
pattern = r"(\w+)(?:(?:,|/)(\w+))*"
# 搜索匹配的内容
match = re.search(pattern, string)
# 打印捕获的内容
if match:
for group in match.groups():
print(group)
输出:
apple
orange
banana
在这个例子中,我们使用正则表达式(\w+)(?:(?:,|/)(\w+))*
来匹配由逗号或斜杠分隔的重复组。其中:
(\w+)
表示捕获一个或多个字符作为第一个组。(?:,|/)
表示一个非捕获组,用于匹配逗号或斜杠。(\w+)
表示捕获一个或多个字符作为第二个组。(?:,|/)(\w+)*
表示重复匹配逗号或斜杠后面的字符。使用re.search()
函数来搜索匹配的内容,并使用match.groups()
来获取捕获的内容。在这个例子中,我们得到了apple
,orange
和banana
作为捕获的内容。