最近遇到一些字串處理的問題,發現使用正規表示式很方便。便好好學習了一下正規表示式。下面是在看《精通正規表示式》這本書的一些筆記。
一、元字元
字元含義備註.
匹配單個任意字元
^匹配一行的開始
$匹配一行的結束
\<
單詞分界符,匹配單詞的開始位置
>
單詞分界符,匹配單詞的結束位置
()限定多選結構的範圍,標註量詞作業的元素,為反向引用捕獲文字
\1\2
反向匹配,匹配之前的第
一、第二組括號內的字表示式匹配的文字
(?:)
只分組,不捕獲
?表示0或者1次
*表示0次或者多次
|匹配任意分隔的表示式,子表示式為多選分支
+表示1次或者多次
{} 表示出現最少n次,最多m次
表示出現n次
m,n表示任意數字
二、一些小例子
2.1 q:乙個浮點數(如1.230001或1.2310001)如果第三位小數為0則保留2位,如果第三位小數不為0則保留3位
a:s/(.\d\d[1-9]?)\d*/$1/
2.2 q:判斷單詞是否重複
a:\<([a-z]+) +\1>
正規表示式學習
概念 正規表示式,就是用某種模式去匹配一類字串的乙個公式。基礎 下表列出了所有的元字元和對它們的乙個簡短的描述。簡單例子 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 字母或數字或下劃線或漢字等 匹配字串的開始 匹配字串的結束 轉義符 除換行符以外的任意字...