我想從數字像569048004801. 我使用PHP對於這樣的字符串和方法排除preg_match_all一些模式的例子我試圖像4800特定號碼:PHP preg_match_all沒有具體的數字
/([^4])([^8])([^0])([^0])/i
/([^4800])/i
我想從數字像569048004801. 我使用PHP對於這樣的字符串和方法排除preg_match_all一些模式的例子我試圖像4800特定號碼:PHP preg_match_all沒有具體的數字
/([^4])([^8])([^0])([^0])/i
/([^4800])/i
/([^4])([^8])([^0])([^0])/i
這實際上說,的四個字符序列,是不是 「4800」。關。
/([^4800])/i
這實際上說,單個字符不是 '4', '8',或 '0'。
假設你的意思是捕捉一個數字,不包含「4800」在裏面,我覺得你可能要
/(?!\d*4800)\d+/i
此說,檢查第一,我們不是在看一串在某些地方有「4800」的數字,並且假設情況是這樣,捕獲數字字符串。這就是所謂的「負視向斷言」。
如果你的意思是,你只是想從一個字符串中刪除4800
,這是一個str_replace
簡單:
$str = '569048004801';
$str = str_replace('4800', '', $str);
在另一方面,如果你的意思是你想知道的數字的特定字符串包含4800
,這將測試你:
$str = '569048004801';
if (preg_match_all('/4800/', $str) > 0) {
echo 'String contains 4800.';
} else {
echo 'String does not contain 4800.';
}
如果你只是想看看,如果字符串包含4800,你不需要正則表達式:
<?php
$string = '569048004801';
if(strpos($string,'4800') === false){
echo '4800 was not found in the string';
}
else{
echo '4800 was found in the string';
}
+1簡單 –
strpos信息'[^ 4800]'是一樣的作爲'[^ 480]'並且意味着「在任何特定的單一點上,不允許有4,8或0.」/ i「也是沒有意義的,沒有大寫字母的那種東西 –