正则表达式匹配一个规则或另一个规则

时间:2016-10-26 16:05:50

标签: regex

在Joomla模块中,我使用正则表达式在包含以下内容的页面中显示模块:

/comprar-curso/

试图将其隐藏在页面中:

/comprar-curso/produto/83-acesso-a-todos-os-cursos-180-dias.html
/comprar-curso/produto/84-acesso-a-todos-os-cursos-365-dias.html

这些是正则表达式使用的行:

\/comprar-curso\/produto\/?(?!\/?83-acesso-a-todos-os-cursos-180-dias.html)
\/comprar-curso\/produto\/?(?!\/?84-acesso-a-todos-os-cursos-365-dias.html)

但是,似乎每一行都定义了一条规则,因此这两行共同代表AND条件。

我需要一个正则表达式行来隐藏一页OR另一页。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

你想要的模式是:

\/comprar-curso\/produto\/8(?:3(?=.+180)|4(?=.+365))-acesso-a-todos-os-cursos-(?:180|365)-dias\.html

它使用positive lookahead和替换来确保两个页面与正确的第二个数字匹配。

Demo on Regex101