1 回答

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超3個(gè)贊
你可以有一個(gè)正則表達(dá)式,如下所示:
/\b((?<!:)\w*XYZ\w*)\b/ui
\b
前后只是匹配一個(gè)單詞邊界。在 中,我們檢查其中是否有任何單詞,并且它前面有零個(gè)或多個(gè)字符,后面有零個(gè)或多個(gè)字符。在負(fù)向隱藏的幫助下,我們確保它前面沒(méi)有。
((?<!:)\w*XYZ\w*)
XYZ
(?<!:)
:
正如@unclexo在注釋中提到的,您可以在末尾添加修飾符以支持 UTF-8 序列匹配。有關(guān)詳細(xì)信息,請(qǐng)參閱此處。
u
您還可以添加不區(qū)分大小寫(xiě)匹配的標(biāo)志。
i
片段:
<?php
$tests = [
'This isXYZ a :exampleXYZa',
'isXYZ a :exampleXYZa abcXYZ',
'isXYZ a :exampleXYZXYZa abcXYZ',
'XYZ',
'XYZjdhf',
'This isXYZ a example:XYZa',
'??üéèXYZ :??üéèXYZ??üéè'
];
foreach($tests as $test){
if(preg_match_all('/\b((?<!:)\w*XYZ\w*)\b/ui',$test,$matches)){
print_r($matches[0]);
}
}
演示:https://3v4l.org/Y8SMj
- 1 回答
- 0 關(guān)注
- 119 瀏覽
添加回答
舉報(bào)