2016-01-20 579 views
0

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

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

例子:

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

规则disallow文字:我想禁止如果文本包含some page

文本1:我发现了一些窍门。

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

对于我计算一个独特的正则表达式来检查,如果文中不符的时刻:

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

这是我的问题,如果允许规则包含不允许的规则,我不能让一个有效的正则表达式。这永远不会匹配。

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

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

这个过程中完美的作品时,允许不包含禁止:

规则allow:我想允许,如果文本包含some page

规则disallow:我要禁止是包含some文本

在此为了它的工作原理...

+3

它的工作对我罚款。*一些(?!\ S页面)。* [演示这里(https://regex101.com/r/sI2lB8/3) – Aferrercrafter

+0

当然失踪我的问题的一部分...我使用PHP PCRE引擎。 – shulard

+0

@KiraCrafter我不能在这里简单地编译两条不同的规则。我必须处理允许部分和禁止部分执行匹配... – shulard

回答