我试图捕获一行字符串,该行可能有逗号,也可能没有逗号(:只给出0或1个逗号)。因此,数据如下所示,正则表达式将逐行执行
cake,strawberry
shortbread
english-muffin,blueberry
第一组的预期捕获:
cake
shortbread
english-muffin
最后一组的期望捕获:
strawberry
blueberry
我最初尝试的是(.*?)(,)?(.*)
,但它将cake,strawberry
作为一个组捕获。我也试过其他几种,但都差不多。我应该把它作为两种不同的模式吗
使用
([^,]*)(?:,(.*))?
:([^,]*)
匹配零个或多个“非逗号”并捕获它(?:,(.*))?
可选地,匹配一个逗号并捕获它后面的所有内容注意:
(?:)
是一个非捕获组Python演示:
相关问题 更多 >
编程相关推荐