Search and Replace的正則表達式


以下例子均在Search and Replace中適用,EditPlus也有正則表達式,但有點不一樣。

1.1 基本操作符

 

*

 

重復0次或更多次

 

+

 

重復一次或更多次

 

 

重復一次

 

|

 

或 操作符

 

 

非 操作符

 

^

 

以^后字符開始的行

 

$

 

以$前字符結尾的行

 

^^

 

以^^后字符開始的文件

 

$$

 

以$$前字符結尾的文件

 

[]

 

范圍操作符

 

()

 

子串

 

+n

 

指定列數操作符,常與()或[]配合使用

 

1.2 正則表達式的查找

*   Zero or More Operator:匹配在()或[]中零次或更多次的表達式。*也可以單獨使用,如果單獨使用,將是匹配一行里從開始到結束的所有字符。也可以在*后指定字符以匹配兩個或更多直至最大匹配數的表達式(可以在軟件中修改)。

     例子:    *(is)              出現零次或更多次的is,如is, Mississippi

                   *[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              匹配       <space(s)(零個或多個空格)>Bend<接着下一行>Exit Function

$   End Of Line Operator:以$后字符為結束的行,跟^差不多,可以配合一起使用。

^^       Beginning Of File Operator:以^^后字符為開始的文件。

$$        End Of File Operator:以$$后字符為結束的文件。

[]   Range Operator:可以參照上面的例子使用,注意*[]匹配的是最大可容納的字符串,包括一些換行符,可以在多行之間查找。

()   Subexpression Operator:可以參照上面的例子使用。

+n              Column Specifier:可以參照上面的例子使用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM