正則表達式基礎篇

正則表達式就是用某種模式去匹配一類字符串的一種公式。

PHP中的正則表達式

PHP中有兩套正則函數preg和ereg(5.3以后不再推薦使用)

正則表達式的組成

  • 分隔符:除了字幕、數字、反斜線、空白字符之外的任何字符
  • 表達式:由一些特殊字符和非特殊字符串組成
  • 修飾符:用于開啟或者關閉某種功能

正則表達式中的元字符

  • 常用元字符
元字符 描述
. 匹配除換行符以外的任意字符
\w 匹配字母、數字、下劃線、漢字
\s 匹配任意空白符
\d 匹配數字
\b 匹配單詞的開始或結束
^ 匹配字符串的開始
$ 匹配字符串的結束
- 表示范圍
[] 匹配括號中任意一個字符
*、+、? 量詞
  • 例子
正則表達式 匹配內容
\ba\w*\b 匹配以字母a開頭的單詞
\d+ 匹配1個或更多連續的數字
\b\w{6}\b 匹配剛好6個字符的單詞

注意:單詞指的是字母或者數字

  • 量詞
限定符代碼 描述
* 重復0次或更多次
+ 重復一次或更多次
? 重復0次或一次
{n} 重復n次
{n,} 重復n次或更多次
{n,m} 重復n到m次
  • 轉義字符:\
  • 反義
元字符 描述
\W 匹配不是字母、數字、下劃線、漢字
\S 匹配非空白符
\D 匹配非數字
\B 匹配不是單詞的開始或結束的位置
[^x] 匹配除了x以外的字符
[^aeiou] 匹配除了aeiou之外的字符

注意:反義不可多用,因其擴大了匹配范圍,可能匹配到不是原來要的

  • 分支:|
    例子:
    (c|h|f|to)at : 匹配cat,hat,fat,toat
    [ch]at == (c|h)at

注意: 括號可有可無,但是正則匹配的規則是:從左到右測試每個條件,如果滿足了某個分支,就不會再考慮其他分支

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 正則表達式概念源于 《神經網事件的表示法》論文中。 正則表達式就是用某種模式去匹配一類字符串的一種公式。 正則表達...
    單板小智閱讀 795評論 0 1
  • 正則表達式很好用,了解基本的知識是熟練應用它的開始 正則表達式常用在更加復雜的文本查找和替換里 先了學習下它的基本...
    付德剛閱讀 235評論 0 0
  • 正則表達式(Regular Expression)是一種文本模式,包含普通字符(a-z, A-Z, 1-9,)和特...
    竹小星閱讀 124評論 0 1
  • 初衷:看了很多視頻、文章,最后卻通通忘記了,別人的知識依舊是別人的,自己卻什么都沒獲得。此系列文章旨在加深自己的印...
    DCbryant閱讀 4,059評論 0 20
  • 推薦幾個正則表達式編輯器 Debuggex :https://www.debuggex.com/ PyRegex:...
    木易林1閱讀 11,534評論 9 151