用于匹配以“,”或“和”分隔的项目列表的Regext

用于匹配以“,”或“和”分隔的项目列表的Regext,regex,pcre,Regex,Pcre,我想匹配以下内容:第一、第二、第三和第四部分,得到如下不同部分: 第一场比赛:第一场 第二场:第二场 第三场:第三场 第四场:第四场 字符串部分也必须以单词部分结尾。如果没有,则应删除所有匹配项 如何使用regex实现这一点?到目前为止,我已经尝试过: 第一|第二|第三|第四|?=\s分区| \sog\s分区第一|第二|第三|第四|,\s分区第一|第二|第三|第四 注意:正则表达式在这样的字符串上工作是很重要的 其他的lalala,然后是第一、第二、第三和第四部分,还有更多内容。您可以使用l

我想匹配以下内容:第一、第二、第三和第四部分,得到如下不同部分:

第一场比赛:第一场

第二场:第二场

第三场:第三场

第四场:第四场

字符串部分也必须以单词部分结尾。如果没有,则应删除所有匹配项

如何使用regex实现这一点?到目前为止,我已经尝试过:

第一|第二|第三|第四|?=\s分区| \sog\s分区第一|第二|第三|第四|,\s分区第一|第二|第三|第四

注意:正则表达式在这样的字符串上工作是很重要的


其他的lalala,然后是第一、第二、第三和第四部分,还有更多内容。

您可以使用lookaheads使用这个正则表达式:

\b(first|second|third|fourth)(?=,|\h+(?:and|section)\b)(?=.*\hsection\b)
正则表达式分解:

\bfirst | second | third | 4th-匹配组中的一个或多个给定单词 ?=-开始向前看 ,-包含逗号 |-或 \h+-1个或多个水平空白 ?:-启动非捕获组 和-包含单词和 |-或 节$-字节 -结束非捕获组 \b字边界 -结束展望 ?=-开始第二次前瞻 .*节\b-包含单词节 -结束第二个前瞻 编辑:这是进一步修复后的最终正则表达式: \b第一|第二|第三|第四?=?:\s*?:,|和\s*?:第一|第二|第三|第四*\s+段\b


我已经尝试了很多不同的东西,最后我来了,这是一些文本是挪威语,但我希望它不重要,看到的例子:这是真的很接近,谢谢!我只需要匹配第一,第二,第三和第四?这可能吗?我现在正在尝试,但如果这对你来说很容易,那就太好了!:好吧,那么可能是:应该对你有用完美我对它做了一点修改,允许匹配出现在文本中,而不仅仅是在结尾\第一节第二节第三节第四节谢谢!示例我编辑了您的答案,以反映基于评论的更改。希望这样可以吗?是的,这是非常好的,让我编辑描述也与正则表达式相匹配,使它有助于其他读者。