一.正則表達式能幹什麼?git
1.從大段的文字中找到符合規則的內容正則表達式
2.判斷某個字符串是否徹底符合規則spa
二.字符組-- [] 寫在中括號中的內容,都出如今下面的某一個字符的位置上都是符合規則的字符串
[0-9] 匹配數字
[a-z] 匹配小寫字母
[A-Z] 匹配大寫字母
[a-zA-Z] 匹配大小寫字母
[a-zA-Z0-9] 匹配大小寫字母+數字
[a-zA-Z0-9_] 匹配數字字母下滑線it
三.元字符word
\w 匹配數字字母下滑線 word關鍵字 [a-zA-Z0-9_]
\d 匹配全部的數字 digit [0-9]
\s 匹配全部的空白符 回車/換行符 製表符 空格 space [\n\t ]
匹配換行符 回車 \n
匹配製表符 tab \t
匹配空格
\W \D \S 和\w \d \s取反
[\s\S] [\d\D] [\w\W]是三組全集 意思是匹配全部字符
\b 表示單詞的邊界tab
四.和轉義字母相關的 元字符
\w \d \s(\n\t) \b \W \D \Sdi
^ $字符
^ 匹配一個字符串的開始數字
$ 匹配一個字符串的結束
. 表示匹配 除換行符以外的全部字符
[] 只要出如今中括號內的內容均可以被匹配
[^] 只要不出如今中括號中的內容均可以被匹配
有一些有特殊意義的元字符進入字符組中會回覆它原本的意義 : . | [ ] ( )
a|b 或 符合a規則的或者b規則的均可以被匹配
若是a規則是b規則的一部分,且a規則比b規則要苛刻/長,就把a規則寫在前面,將更復雜的\更長的規則寫在最前面
() 分組 表示給幾個字符加上量詞約束的需求的時候,就給這些量詞分在一個組
五.量詞
{n}表示 這個量詞以前的字符出現n次
{n,} 表示這個量詞以前的字符至少出現n次
{n,m} 表示這個量詞以前的字符出現n-m次
? 表示匹配量詞以前的字符出現 0次 或者 1次 表示無關緊要
+ 表示匹配量詞以前的字符出現 1次 或者 屢次
* 表示匹配量詞以前的字符出現 0次 或者 屢次
六. 正則表達式的匹配特色 : 貪婪匹配
它會在容許的範圍內取最長的結果
非貪婪模式/惰性匹配 : 在量詞的後面加上?
.*?x 匹配任意非換行符字符任意長度 直到遇到x就中止