Search and Replace的正規表示式

2021-09-08 18:11:17 字數 2358 閱讀 2514

以下例子均在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匹配任...