你可以建議對正則表達式爲:正則表達式 - 值不等於
不等於字符串1,字符串,STRING3和不區分大小寫
我有以下,但不給我我想要的。
/^(?!string1|string2|string3)$/
感謝
你可以建議對正則表達式爲:正則表達式 - 值不等於
不等於字符串1,字符串,STRING3和不區分大小寫
我有以下,但不給我我想要的。
/^(?!string1|string2|string3)$/
感謝
很抱歉,如果我在錯誤的道路上,但爲什麼不能否定正匹配?
if (!preg_match("/^(string1|string2|string3)$/i",$str) {
// ...
}
您將需要在正則表達式的AND
,不OR
。因爲如果你的字符串是string3
,它將不等於string1
和string2
,所以它會匹配。 你不能用正則表達式來解決這個問題(至少不能用我認爲可讀的方式))。當然你可以通過反轉匹配的輸出。
您也可以使用非正則表達式的方法(可能會更容易維護):
$blacklist = array('string1', 'string2', 'string3');
if(!in_array(strtolower($str), $blacklist)) {
}
你可以試試嗎? 如果(的preg_match( '/(字符串1 |字符串2 | STRING3)/ I',$ STR)!)
我用這個當我需要找到 「不包含文件...」:
(?s)\ A((?!版權)。)* \ Z
這是爲字符串「Copyright」...根據需要替換字符串;以及\ A(文件的開頭)和\ Z(文件的結尾)。
+1爲什麼我還沒有想到:D – 2011-02-03 17:03:59