正則表達式學習筆記

一、正則表達式基本語法:####

*界定符
*原子
*元字符
*量詞
*邊界控制
*模式單元

1. 界定符######

<pre>
表示一個正則表達式的開始和結束柿菩。(如:/[0-9]/或#[0-9]#或{[0-9]})
一般使用/或#作為界定符圾另,不建議用{}
</pre>

2. 原子######

<pre>
(1)可見原子:Unicode編碼表中用鍵盤輸出后肉眼可見的字符
如:標點帮碰;"_?.等电谣,英文字母數(shù)字a-z A-Z 0-9,其他可見字符等
(2)不可見原子:Unicode編碼表中用鍵盤輸出后肉眼不可見的字符
如:換行符\n,回車\r,制表符\t,空格,其他不可見符號
</pre>

3. 元字符######

<pre>
(1)原子的篩選方式:
| 匹配兩個或者多個分支選擇;
[] 匹配方括號中的任意一個原子;
[^] 匹配除方括號中的原子之外的任意字符;

(2)原子的集合:
. 匹配除換行符之外的任意字符,即[^\n];
\d 匹配任意一個十進制數(shù)字恭理,即[0-9];
\D 匹配任意一個非十進制數(shù)字拯辙,即[^0-9];
\s 匹配一個不可見原子,即[\f\n\r\t\v];
\S 匹配一個可見原子颜价,即[^\f\n\r\t\v];
\w 匹配任意一個數(shù)字涯保、字母或下劃線,即[0-9a-zA-Z_];
\W 匹配任意一個非數(shù)字周伦、字母或下劃線夕春,即[^0-9a-zA-Z_];
</pre>

4. 量詞######

<pre>
{n} 表示其前面的原子恰好出現(xiàn)n次;
{n,} 表示其前面的原子最少出現(xiàn)n次;
{n,m} 表示其前面的原子最少出現(xiàn)n次,最多出現(xiàn)m次;

  • 匹配0次专挪、1次或者多次其之前的原子及志,即{0,};
  • 匹配1次或者多次其之前的原子,即{1,};
    ? 匹配0次或者1次其之前的原子寨腔,即{0,1};
    </pre>
5. 邊界控制######

<pre>
^ 匹配字符串開始的位置;
$ 匹配字符串結尾的位置;
</pre>

6. 模式單元######

<pre>
() 匹配其中的整體為一個原子;
</pre>

二速侈、模式修正:####

1.懶惰匹配與貪婪匹配######

<pre>
(1) 貪婪匹配:匹配結果存在歧義時取其長(默認為貪婪模式)
(2) 懶惰匹配:匹配結果存在歧義時取其短(懶惰模式標識:U 即:只需要在正則表達式的末尾加上U 如:/so.+234/U)
</pre>

2.常見修正模式######

<pre>
U 懶惰匹配;
i 忽略英文字母大小寫;
x 忽略空白;
s 讓元字符'.'匹配包括換行符在內(nèi)的所有字符;
e 配合函數(shù)preg_replace()使用,可以把匹配來的字符串當作正則表達式執(zhí)行;
</pre>

三、PHP中常用的正則表達式函數(shù):####

1. preg_match()與preg_match_all()######

<pre>
preg_match($pattern,$subject,[array &matches])
第三個參數(shù)是傳遞引用迫卢,參數(shù)可選倚搬;
preg_match()只會在$subject中匹配一次;
return 匹配的次數(shù)(0次或1次)
preg_match_all($pattern,$subject,array &matches)
第三個參數(shù)是傳遞引用乾蛤,參數(shù)必填每界;
preg_match_all()會把$subject中所有符合的匹配出來;
return 匹配的次數(shù)(0次或多次)
</pre>

2. preg_replace()與preg_filter()######

<pre>
preg_replace($pattern,$replacement,$subject)
return 返回被替換后的結果幻捏,(當為數(shù)組集時:不管替換部分和沒有替換部分都會返回);
preg_filter($pattern,$replacement,$subject)
return 返回替換后的結果命咐,(當為數(shù)組集時:只保留被替換過的篡九,沒有替換的部分不返回;)
</pre>

3. preg_grep()######

<pre>
preg_grep($pattern,array $input)
return 只返回被匹配到的結果集醋奠,沒有匹配到的就過濾掉不返回
</pre>

4. preg_split()######

<pre>
preg_split($pattern,$subject)
return 用匹配到的結果去截取字符串榛臼,將截取后的結果返回;
</pre>

5. preg_quote()######

<pre>
preg_quote($str)
正則運算符轉(zhuǎn)義窜司,如:∨嫔啤.\+*?[^]$(){}=H怼<>|:-
</pre>

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末金刁,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌尤蛮,老刑警劉巖媳友,帶你破解...
    沈念sama閱讀 219,039評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異产捞,居然都是意外死亡醇锚,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評論 3 395
  • 文/潘曉璐 我一進店門坯临,熙熙樓的掌柜王于貴愁眉苦臉地迎上來焊唬,“玉大人,你說我怎么就攤上這事看靠「洗伲” “怎么了?”我有些...
    開封第一講書人閱讀 165,417評論 0 356
  • 文/不壞的土叔 我叫張陵衷笋,是天一觀的道長芳杏。 經(jīng)常有香客問我,道長辟宗,這世上最難降的妖魔是什么爵赵? 我笑而不...
    開封第一講書人閱讀 58,868評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮泊脐,結果婚禮上空幻,老公的妹妹穿的比我還像新娘。我一直安慰自己容客,他們只是感情好秕铛,可當我...
    茶點故事閱讀 67,892評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著缩挑,像睡著了一般但两。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上供置,一...
    開封第一講書人閱讀 51,692評論 1 305
  • 那天谨湘,我揣著相機與錄音,去河邊找鬼芥丧。 笑死紧阔,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的续担。 我是一名探鬼主播擅耽,決...
    沈念sama閱讀 40,416評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼物遇!你這毒婦竟也來了乖仇?” 一聲冷哼從身側(cè)響起憾儒,我...
    開封第一講書人閱讀 39,326評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎这敬,沒想到半個月后航夺,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,782評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡崔涂,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,957評論 3 337
  • 正文 我和宋清朗相戀三年阳掐,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片冷蚂。...
    茶點故事閱讀 40,102評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡缭保,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蝙茶,到底是詐尸還是另有隱情艺骂,我是刑警寧澤,帶...
    沈念sama閱讀 35,790評論 5 346
  • 正文 年R本政府宣布隆夯,位于F島的核電站钳恕,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏蹄衷。R本人自食惡果不足惜忧额,卻給世界環(huán)境...
    茶點故事閱讀 41,442評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望愧口。 院中可真熱鬧睦番,春花似錦、人聲如沸耍属。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽厚骗。三九已至示启,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間领舰,已是汗流浹背夫嗓。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留提揍,地道東北人啤月。 一個月前我還...
    沈念sama閱讀 48,332評論 3 373
  • 正文 我出身青樓煮仇,卻偏偏與公主長得像劳跃,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子浙垫,可洞房花燭夜當晚...
    茶點故事閱讀 45,044評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 正則表達式練習題點擊這里 創(chuàng)建一個正則表達式 使用一個正則表達式字面量刨仑,其由包含在斜杠之間的模式組成郑诺,如下所示: ...
    打鐵大師閱讀 1,256評論 0 6
  • 一.正則表達式匹配原則 占有字符和零寬度 在正則表達式匹配過程中,如果子表達式匹配到的是字符內(nèi)容杉武,并被保存在結果之...
    Coree閱讀 540評論 0 0
  • 什么是正則表達式 Regular Expression使用單個字符串來描述辙诞,匹配一系列符合某個句法規(guī)則的字符串 說...
    打鐵大師閱讀 784評論 1 6
  • 正則表達式的語法不再多說 正則RegExp類型有幾個常用方法: exec() 該方法是專門為捕獲組而設計的。 例:...
    燈不梨喵閱讀 395評論 0 0
  • 最近開始轉(zhuǎn)學php轻抱。語法已經(jīng)學的差不多飞涂,但是感覺感覺php中好多東西還是靈活,還是需要項目的歷練祈搜〗系辏回歸主題,本來對...
    Big丶Show閱讀 422評論 0 0