[英]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.