04JS第七天 ----- js高級第一天 --- PHP中的正則表達式

語法和JavaScript中的正則語法基本一致。

PHP中的正則函數:

1preg_match()

preg_match()返回匹配的次數,它的返回值是0或者是1.

0表示不匹配。

1表示匹配一次,因爲preg_match在匹配一次之後就停止向後檢索了。和js中不加g的情況一樣。

 

查看匹配的結果:

帶有子表達式的例子:

2preg_match_all();

執行正則表達式的全局匹配,類似於js中的帶g的匹配。

帶有子表達式的例子:

3preg_replace();

執行正則替換。

替換字符串:

帶有子表達式:

替換數組:

4、案例解決貪婪問題

無論是JS中,還是PHP中,正則表達式的匹配模式默認都是貪婪模式。

上述代碼,查詢至少一個字母。但是在實際匹配的過程中,匹配到一個a之後,並沒有停止,而是繼續向後匹配,得到一個連續的字符串。這就是貪婪模式。

下面在正則表達式後面加入?,表示非貪婪模式:

默認是貪婪模式,必須使用非貪婪模式的例子:

PHP中,強制非貪婪模式:

加入大寫的修飾符U即可。

5、PHP中使用正則注意點

PHP中的正則表達式除了//以外,外面還要加引號,這個引號要用單引號。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章