正则表达式和逻辑 AND 运算符


Regular expressions and logical AND operator

尝试在正则表达式中插入 AND 运算符,但经过一些搜索,我意识到正则表达式不支持 AND 运算符。谁能帮我建议替代 AND 运算符。问题是:我需要找到我们词汇表中的单词并突出显示它们,但标签内的单词必须保持不变。提前谢谢。

if (preg_match($vocab, $word) && !preg_match($tag, $word)) highlight($word);

我想你有两个选择:

1.

if(preg_match($pat1, $subject) > 0 && preg_match($pat2, $subject) > 0){ 
    /* do something */ 
}


2. 使用正面/负面前瞻来模拟 AND:

示例:匹配除 spandiv 之外的任何 html 标记:</?(?!span'b)(?!div'b)[^>]+>
德摩根定律 = </?(?!(span|div)'b)[^>]+>

我希望这些可以帮助您:)