$zz = '/[0-5]\w+/'; 這個+號碼是幹嘛用的,為什麼後面有的例子裡面沒有?
益伦
益伦 2017-10-21 12:04:43
0
3
1578

<?php


$zz = '/[0-5]\w /';



$string = '1C';

$string2 = '1C$';


if(preg_match ($zz, $string, $matches)){

##   echo '配對到了,結果為:';

   var_dump($matches);

}else{

   echo '沒有配對到';

}


#?>

Q1:$zz = '/ [0-5]\w /';  這個號是幹嘛用的,為什麼後面有的例子裡面沒有?

Q2:$string輸出結果是為什麼是1C,不應該是「1」嗎?

Q3:如果$string輸出結果是1C,那麼$string1輸出不應該是「1C$」嗎?

益伦
益伦

全部回覆(3)
路过

[0-5]  可以匹配 0-5中的任一個

\w 匹配包括下劃線的任何單字字元。等價於'[A-Za-z0-9_]'。 $ 不在範圍

+ 標識一次或多次

寻觅 beyond

因為$,+,\等都是特殊符號,所以你要匹配這些字元時,必須在$pattern中明確指出要匹配哪個特殊符號(用反斜線轉移),

#例如你要符合$string2中的$配對出來,只需要將$zz = '/[0-5]\w+/';改為$zz = '/[0-5]\w+\$/';即可

寻觅 beyond

Q1,+表示匹配前面的原子出現1次或多次

Q2,參見Q1,+表示前面的\w(字符)出現1次或多次,所以1後面的C也會被配對

Q3,$,+,-等符號都是特殊的符號,忘記在哪看過一篇博客,\w不能匹配這些特殊的符號,你可以試一下把$改成其他字母,就能配對出來了,至於原因,有大牛路過的話,希望講解一下

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板