php面試筆記(6)-php基礎知識-正則表達式考點

本文是根據慕課網Jason老師的課程進行的PHP面試知識點總結和昇華,若有侵權請聯繫我進行刪除,email:guoyugygy@163.com

在面試中,考官每每喜歡基礎紮實的面試者,而正則表達式相關的考點,每每是你們容易忽視的一個點,今天冷月就來幫各位小夥伴們梳理一下,在面試中正則表達式相關的注意點。php

回顧真題

至少寫出一種驗證139開頭的11位手機號碼的正則表達式

答案:
/^139d{8}$/面試

考點分析

很明顯,面試官主要想考察你們對於正則表達式組成及編寫方法的瞭解程度。繼而衍生出正則表達式的做用:
1.分割正則表達式

分隔符(定界符),主要是正斜線(/),表示一個正則表達式的開始和結束數組

2.查找
通用原子
d :十進制0-9
D :除了十進制0-9
w:數字、字母、下劃線
W:除了數字、字母、下劃線
s:空白符(換行、空格、回車)
S:除了空白符(換行、空格、回車)
元字符微信

模式修正符
U:懶惰模式
u:貪婪模式
i:忽略英文字母大小寫
x:忽略空白
s:讓元字符「.」匹配包括換行符在內全部字符
e:配合函數 preg_replace() 使用,能夠把匹配來的字符串看成正則表達式執行函數

3.匹配
preg_match() //匹配一個
preg_match_all()// 匹配全部學習

4.替換
preg_replace()
preg_filler()編碼

後向引用
在後面的表達式中,引用前面某個分組所匹配到的內容code

<?php
/**
 * Created by 冷月小白.
 * 微信公衆號: 學長冷月
 */

$str = '<b>abc</b>';
$pattern = '/<b>(.*)<\/b>/'; //必定要用括號
$res = preg_replace($pattern,'\1',$str); //將第一個匹配到的數據放入數組
var_dump($res); //string(3) "abc"

貪婪模式資源

<?php
/**
 * Created by 冷月小白.
 * 微信公衆號: 學長冷月
 */

$str = '<b>abc</b><b>bcd</b>';
$pattern = '/<b>(.*?)<\/b>/u'; //貪婪模式
$res = preg_replace($pattern,'\1',$str); //將第一個匹配到的數據放入數組
var_dump($res); //string(3) "abc"

中文匹配
UTF-8漢字編碼範圍:
0x4e00-0x9fa5

一網打盡

請寫出一個正則表達式,取出頁面中全部的img標籤中的src值

答案:

<?php
/**
 * Created by 冷月小白.
 * 微信公衆號: 學長冷月
 */

$str = '<img alt="" id="" src="xxx.jpg" />';
$pattern = '/<img.*?src="(.*?)".*?\/?>/i';
preg_match($pattern,$str,$a);
var_dump($a);//string(7) "xxx.jpg"

若是這篇博文有幫助到您,能夠幫冷月點一個贊或者加一個關注哦!

歡迎關注個人公衆號:學長冷月,得到獨家整理的學習資源和平常乾貨推送。
若是您對個人專題內容感興趣,也能夠關注個人博客: guoyu7.com
相關文章
相關標籤/搜索