首頁  >  問答  >  主體

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

<?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$」嗎?

益伦益伦2578 天前1569

全部回覆(3)我來回復

  • 路过

    路过2017-10-21 22:24:59

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

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

    + 標識一次或多次

    回覆
    0
  • 寻觅 beyond

    寻觅 beyond2017-10-21 12:35:29

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

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

    回覆
    0
  • 寻觅 beyond

    寻觅 beyond2017-10-21 12:27:02

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

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

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

    回覆
    0
  • 取消回覆