正则表达式:如何组合AND& OR运营商

时间:2016-01-20 19:23:10

标签: regex

我目前正在尝试执行单个正则表达式,它结合了AND / OR运算符,但无法找到处理它的方法。 我正在使用PHP PCRE正则表达式引擎。

我有一个文字,我想检查有关允许/禁止单词的规则的匹配。

示例:

规则allow:我希望所有人都允许包含some

的文字

规则disallow:如果文字包含some page

,我想禁止

文字1:我找到了一些技巧。

文字2:我在书中找到了一些页面。

目前我正在计算一个独特的正则表达式来检查文本是否不匹配:

//staring with not allowing
//continue with disallowing
/^(?=(?!(some.*)))(?=(some page)).*$/

这是我的问题,如果允许规则包含禁止规则,我无法获得有效的正则表达式。这绝不匹配。

我已与其他正则表达式运算符进行过检查,但无法找到构建模式的有效方法。

我想在这里生成一个独特的正则表达式以推动正则表达式的功能(我现在知道:))。

当allow不包含disallow时,此过程完全有效:

规则allow:如果文字包含some page

,我想允许

规则disallow:我想要禁止的是包含some

的文字

按此顺序,它有效......

1 个答案:

答案 0 :(得分:0)

你能否使用否定前瞻

some(?! text)

https://regex101.com/r/bA7eV2/3