以下例子均在search and replace中適用,editplus也有正規表示式,但有點不一樣。
1.1 基本操作符
*重複0次或更多次
+重複一次或更多次
?重複一次
|或 操作符
!非 操作符
^以^後字元開始的行
$以$前字元結尾的行
^^以^^後字元開始的檔案
$$以$$前字元結尾的檔案
範圍操作符
()子串
+n指定列數操作符,常與()或配合使用
1.2 正規表示式的查詢
* zero or more operator:匹配在()或中零次或更多次的表示式。*也可以單獨使用,如果單獨使用,將是匹配一行裡從開始到結束的所有字元。也可以在*後指定字元以匹配兩個或更多直至最大匹配數的表示式(可以在軟體中修改)。
*[is] 出現零次或更多次的i或s,如 some, expression,single
windows*[0-9] 以windows為開始,隨後跟著0-9字元的字串
windows*95 以windows為開始,隨後跟著任意個字元,後以95結尾的字串
+ one or more operator:重複出現1次或多次操作符。
例子: +(is) 匹配字串is,mississippi
w+e 匹配字串wide,white,write,不匹配we
? one occurrence operator:?前或後的字串出現一次。也可以放在兩個字串之間,放在()前時,表示()內表示式出現一次。
例子: ?(is) 匹配 is
win?95 匹配 win 95,win-95,win/95
| or operator:與操作符。需要與()操作符配合使用。
例子: (01/|02/)+[0-9](/95|/98) 匹配 01/15/98和02/12/98 前三個字元為01/或者02/,後面出現一到多位的0-9數字,後面跟著/95或者/98
w*[a-z](98|nt)\? 匹配 windows 98?,win nt? 以w為開始的字串,後面跟著n(n>=1)個位的字母(必須為a到z),跟著98或者nt字元,最後以?結尾。注意:要查詢?等表示式時,要使用轉義符\ 。
! not operator:非操作符。可以與()操作符配合使用。
例子: ?at!((b|c)at) 匹配 mat 和 sat 而不是 bat 或者 cat。注意:雙重括號的使用
*file!(beg*file) 匹配 a file 和 this file 而不是 beginning of file
*98!(windows 98) 匹配 1998 而不是windows 98
*98!(+[a-z ]98) 匹配 1998 而不是 windows 98
a?b?c!(aub?c)!(a?bvc) 查詢axbyc,x不是u,y不是v
^ beginning of line operator:以^後字元為開始的行,注意是行而不是乙個單詞。
例子: ^the 查詢以the,the,the開頭的行
^(the|[a<]) 查詢以the或a或《開頭的行
^*( )bend\r\n*( )exit function 匹配 bend《接著下一行》exit function
$ end of line operator:以$後字元為結束的行,跟^差不多,可以配合一起使用。
^^ beginning of file operator:以^^後字元為開始的檔案。
$$ end of file operator:以$$後字元為結束的檔案。
range operator:可以參照上面的例子使用,注意*匹配的是最大可容納的字串,包括一些換行符,可以在多行之間查詢。
() subexpression operator:可以參照上面的例子使用。
+n column specifier:可以參照上面的例子使用。
幾種正則的表達
首先簡單介紹一下正規表示式的基本寫法及用法 d 匹配任何乙個數字,即 0 9 d 表示1個以上的數字 d 標示0個或多個數字 s 表示分隔符,包括空格 製表符和換行符 s 0個或多個分隔符 w 表示字母 數字和下劃線,這裡還包括unicode字元,不同的語言裡有些不同 w 表示4個非空白字元 表示任...
linux正規表示式 Linux 的正規表示式
我們通過sed或awk工具可以輕鬆愉快的對一堆文字分析 對資料進行處理 伺服器報錯日誌的分析 伺服器使用者訪問日誌統計分析等。但是要玩耍好sed和awk工具,正規表示式是基礎,不得不掌握。特定字元 如 1 a a 範圍字元數字字元 0 9 代表0到9數字中的任意乙個 小寫字元 a z 代表a到z字母...
python正則 python正則表達
正規表示式是一種用來匹配字串的強有力的 設計思想是用一種描述性的語言來給字串定義乙個規則,凡是符合規則的字串,就認為它 匹配 否則就不匹配。一 可以通過幾類符號設計限定規則,常用的思想如下 匹配除換行符以外的任意字元 w匹配字母 數字 下劃線或漢字 w匹配字母 數字 下劃線或漢字以外的字元 s匹配任...