[英]Check some words with preg_match
我需要用preg_match
檢查一些單詞。 如果單詞包含數字和.
,我想回聲“確定”。
可以說我想解決這個問題:
4814.84dszs //ok
412.84.61.412 //ok
hello.4you //ok
welcome.user //not ok
481221222 // not ok
我用了這個:
if (preg_match('/^[0-9][.]+$/', 'MY_WORD_HERE'))
{
echo 'ok';
}
但這並不能給我確切的結果。
用這個:
if (preg_match('/([0-9]+[\.]+|[\.]+[0-9]+)$/', 'MY_WORD_HERE'))
{
echo 'ok';
}
“ +”(加號)表示匹配表達式出現1次或多次
您也可以使用。 並且數字彼此不跟隨,中間還有其他字符:
if (preg_match('/([0-9]+[^0-9\.]*[\.]+|[\.]+[^0-9\.]*[0-9]+)$/', 'MY_WORD_HERE'))
{
echo 'ok';
}
說明:它檢查是否有一個數字后跟一個點,或者是否有一個點后跟一個數字,或者是否有一個數字后跟其他字符,然后是一個點,反之亦然。
嘗試使用這個
$pattern = '%(?=.*[0-9])(?=.*\.)%';
if (preg_match($pattern, 'MY_WORD_HERE'))
{
echo 'ok';
}
?>
嘗試這個 :
if (preg_match('/(\d+\.)|(\.\d+)/', '4814.84dszs'))
{
echo 'ok';
}
^
->表示字符串的開頭
$
->字符串的結尾。
因此,您的模式從頭到尾都說(匹配整個字符串)
如果刪除它,它將匹配字符串中的任何地方,而不是整個字符串。
$pattern = '#^([\d]{1,3})([.][\d]{1,3})([.][\d]{1,3})([.][\d]{1,3})$#';
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.