簡體   English   中英

PHP中的正則表達式,用於匹配帶有一些例外的單詞

[英]Regex in PHP to match words with some excepetions

$matchstring  = 'MS-DOS file';
$string1 = 'MS-DOS file';
$string2 = 'MS-DOS file, NE Windows';
$string3 = 'MS-DOS file, MZ OS-windows';
$string4 = 'MS-DOS file, Clear OS-windows';

我正在編寫正則表達式,以使上述字符串中的字符串“ MS-DOS文件”僅匹配$string1$string4 該模式不應與“ MS-DOS文件”相匹配,后跟關鍵字“ NE”或“ MZ”。 對於其他,它應該匹配,就像它應該匹配字符串4但不匹配字符串2,3

有任何想法嗎 ?

我用可憐的正則表達式嘗試了這個,但沒有運氣:(

if (preg_match("/MS-DOS file[\s]?[^MZ][^NE]/", $string1)){
    echo "True";
} else{
    echo "False";
}

嘗試這個:

"/MS-DOS file(?:,\s|$)(?!MZ|NE).*/"

您忽略了逗號,並濫用了字符集方括號。

編輯:另外,我相信您想檢查'NE',而不是'NI'。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM