【发布时间】:2016-12-08 12:43:50
【问题描述】:
这是我目前的正则表达式:
^(?=.*(option1|option2))(?=.*(option3|option4))(?=.*(option5|option6))(?=.*(option7|option8))(?=.*(option9|option10)).*$
我不熟悉正则表达式语言,所以我会自己定义:
第1类是(option1|option2),第2类是(option3|option4),第3类是(option5|option6),等等。
我想捕获从 3 个或更多类别中找到至少 1 个选项的值,如下所示:
一些文本 option3 一些文本 option8 一些文本 option1
或
一些文本 option3 一些文本 option8 一些文本 option1 一些文本 option6
我不想捕获这样的值:
一些文本 option3 一些文本 option8 - 仅代表 2 个类别
或
一些文本 option3 一些文本 option4 一些文本 option1(选项 3 和 4 属于同一类别)
选项可以在文本中以任意顺序出现,这就是我使用正向预读的原因,但我不知道如何在多个正向预读上放置量词。
就正则表达式引擎而言,我必须在后台使用由 python 提供支持的前端 UI。我只能使用正则表达式,我没有能力使用任何其他 python 函数。谢谢!
【问题讨论】:
标签: python regex regex-lookarounds