PHP中內(nèi)含兩種庫(kù)的正則表達(dá)式达吞,這里我用的是perl的粉臊。
正則表達(dá)式的組成
主要由“定界符+模式+定界符”組成
模式又由原子(必須的)鹃两、元字符遗座、模式修正符,組成俊扳。
原子:
1.正常的字符,0-9途蒋、a-zA-Z。
2.特殊字符馋记,就是非正常字符的都是号坡,用的時(shí)候記得加上反斜杠\。
3.打印字符抗果,\n換行 \r回車 \t制表筋帖。
4.通用字符,
\d : [0-9]
\D : [^0-9]
\s : 空字符
\S : 非空字符
\w : [0-9a-zA-Z_]
\W : [^0-9a-zA-Z_]
5.自制類原子[]
元字符:
他在模式中存在一種特殊的含義
*:重復(fù)前面的原子0次1次或多次冤馏。
+:前面的原子至少重復(fù)1次日麸。
?:前面的原子重復(fù)0次or1次。
{n}:前面的原子重復(fù)n次逮光。
{n,}:前面的原子至少重復(fù)n次代箭。
{n,m}:前面的原子重復(fù)n到m次。
|:模式選擇符,例:/lnmp|lamp/i;
.:代表任意一個(gè)字符涕刚,除了換行外嗡综。
^:開頭。
$:結(jié)尾杜漠。
[^]:除了里面的之外极景。
():大原子。
模式修正符
i:不區(qū)分大小寫驾茴。
s:.也可以匹配任意字符盼樟。
m:可以將一行字符當(dāng)成多行處理。
后向引用
就是大原子的內(nèi)容是可以被引用的锈至,省的你在寫一次晨缴。
引用的話呢,就是寫\{這里換成從左往右數(shù)的第某個(gè)大原子}
具體使用:
$pattern = '/\d{4}([\W])\d{2}\1\d{2}/';
函數(shù)
preg_match();
preg_match_all();
preg_grep();