<?php
$zz = '/[0-5]\w /';
$string = '1C';
$string2 = '1C$';
if(preg_match ($zz, $string, $matches)){
[0-5] 可以匹配 0-5中的任一個
\w 匹配包括下劃線的任何單字字元。等價於'[A-Za-z0-9_]'。 $ 不在範圍
+ 標識一次或多次
因為$,+,\等都是特殊符號,所以你要匹配這些字元時,必須在$pattern中明確指出要匹配哪個特殊符號(用反斜線轉移),
#例如你要符合$string2中的$配對出來,只需要將$zz = '/[0-5]\w+/';改為$zz = '/[0-5]\w+\$/';即可
Q1,+表示匹配前面的原子出現1次或多次
Q2,參見Q1,+表示前面的\w(字符)出現1次或多次,所以1後面的C也會被配對
Q3,$,+,-等符號都是特殊的符號,忘記在哪看過一篇博客,\w不能匹配這些特殊的符號,你可以試一下把$改成其他字母,就能配對出來了,至於原因,有大牛路過的話,希望講解一下
[0-5] 可以匹配 0-5中的任一個
\w 匹配包括下劃線的任何單字字元。等價於'[A-Za-z0-9_]'。 $ 不在範圍
+ 標識一次或多次
因為$,+,\等都是特殊符號,所以你要匹配這些字元時,必須在$pattern中明確指出要匹配哪個特殊符號(用反斜線轉移),
#例如你要符合$string2中的$配對出來,只需要將$zz = '/[0-5]\w+/';改為$zz = '/[0-5]\w+\$/';即可
Q1,+表示匹配前面的原子出現1次或多次
Q2,參見Q1,+表示前面的\w(字符)出現1次或多次,所以1後面的C也會被配對
Q3,$,+,-等符號都是特殊的符號,忘記在哪看過一篇博客,\w不能匹配這些特殊的符號,你可以試一下把$改成其他字母,就能配對出來了,至於原因,有大牛路過的話,希望講解一下