【发布时间】:2020-11-27 00:55:45
【问题描述】:
我正在尝试使用 C# 中的正则表达式组从以下字符串中提取日期,
"RRULE:FREQ=MONTHLY;UNTIL=20211126T143000Z;INTERVAL=1;BYDAY=MO,TU,WE,TH,FR;BYSETPOS=-1"
我是正则表达式的新手,并查看了各种网站以尝试编写一个表达式,到目前为止我得到的表达式如下
(?:BYDAY=)([A-Z,]*);
哪些匹配
MO,TU,WE,TH,FR;
作为一个整体,我可以在拆分中使用“,”来实现我想要的,我想知道是否有一种方法可以纯粹在正则表达式中做到这一点。
【问题讨论】:
-
这取决于正则表达式的风格。您可以获得捕获组
(?:\G(?!^)|BYDAY=)([A-Z]+),?regex101.com/r/bz7hFo/1 或匹配(?<=BYDAY=[A-Z,]*)[A-Z]+regex101.com/r/2oYatq/1 -
@Thefourthbird 发帖ideone.com/TgwO6r
标签: regex