正規表示式是什麼?
正規表示式是一種強大的文字處理工具。
正規表示式的定義
制定了乙個規則,通過這個規則匹配一些符合的字串。
正規表示式的語法
量詞
字元邊界表示式重複n次
表示式至少重複m次,至多重複n次
表示式至少重複m次
?表示式匹配0到1次,相當於
+表示式至少出現一次,相當於
*表示式不出現或出現任意次,相當於
貪婪模式(預設),次數匹配的越多越好
非貪婪模式,在後面加?,次數匹配的越少越好
例子:/d = /d/d/d/d/d/d,匹配連續的6個數字字串
/d? 匹配3到6的連續字串,若有超過6個的 字串,匹配3個,就會匹配下一段
/d 與上面相反,會優先匹配6個,
^匹配字串開始的地方
$匹配字串結束的地方
\b匹配但單詞的乙個邊界,就是前面的和後面的不全是\w
選擇符和分組
|分支結構
左右兩邊表示式或的關係,匹配左邊或右邊
()捕獲組
(1)在被修飾匹配次數的時候,括號中的表示式作為乙個整體被修飾
(2)去匹配結構的時候,括號中的表示式匹配的內容可以被單獨得到
(3)每一對括號會分配乙個編號,使用()的捕獲根據左括號的順序 從一開始編號
(?:expression)
一些表示式中,不得不使用(),但又不需要儲存()子表示式匹配的內容,這時就可以用非捕獲組
預搜尋(零寬斷言)
只進行子表示式的匹配,匹配內容不計入最終結果,是零寬度的這個位置應該符合某個條件,判斷當前後是否符合指定條件,但不匹配前後字元。
(?=exp)
後面的表示式exp
(?<=exp)
前面的表示式exp
(?!exp)
後面不能匹配的表示式exp
(?前面不能匹配的表示式exp
反向引用(\nnn)
每對括號會分配乙個編號,根據左括號的順序。正規表示式的匹配模式通過反向引用,可以對分組已經捕獲的字串進行引用
\nnn 就是 \1,\2…\100等
正規表示式學習
概念 正規表示式,就是用某種模式去匹配一類字串的乙個公式。基礎 下表列出了所有的元字元和對它們的乙個簡短的描述。簡單例子 vi 命令作用 s g 把乙個或者多個空格替換為乙個空格 s 去掉行尾的所有空格 s 在每一行頭上加入乙個空格 s 0 9 0 9 去掉行首的所有數字字元 s b aeio g ...
正規表示式學習
1.元字元 1 匹配任何單個字元 2 匹配括號中的任何乙個字元 可以再括號中使用連字元 來指定子都的區間來簡化表示,如a 0123456789 c等價於a 0 9 c 3 將 之間括起來的表示式定義為 組 4 將兩個匹配條件進行邏輯 或 運算 z f ood則匹配 zood 或 food 5 匹配0...
正規表示式學習
只是點皮毛,先湊合用著了,順便鄙視一下sqlserver,居然不支援正則。b 元字元,代表著單詞的開頭或結尾,也就是單詞的分界處。d 數字 s 任意的空白符,包括空格,製表符 tab 換行符,中文全形空格等 w 字母或數字或下劃線或漢字等 匹配字串的開始 匹配字串的結束 轉義符 除換行符以外的任意字...