簡 單地說,正規表示式就是一些用來匹配和處理文字的字串。正規表示式是用正規表示式語言建立的。與其他程式語言一樣,正規表示式語言也有需要學習的特 殊語法和指令。但是,正規表示式語言並不是一種完備的程式語言,它甚至算不上是一種能夠直接安裝並執行的程式。準確地說,正規表示式語言是內置於其他 語言或軟體產品裡的「迷你」語言。
正規表示式的使用方法和具體功能,在不同的應用程式/語言中各有不同。一般來說,應用程式大多使用選單選項和對 話框來訪問正規表示式,而程式語言大都在函式或物件類中使用正規表示式。此外,並非所有的正規表示式實現都是一樣的。在不同的應用程式/語言裡,正則 表示式的語法和功能往往會有明顯(有時也不那麼明顯)的差異。
二.以例子說明正規表示式的語法和功能
進行操作的文字物件:
hello,my name is xyf.who are you?
regex.txt
segex.txt
megex.txt
reg1.txt
reg2.txt
rega.txt
regz.txt
正規表示式操作:
1.匹配純文字:xyf
結果:match position length
xyf 17 3
2.匹配任意字元:.e或者.e.
結果:(1)
match position length
he 0 2
me 11 2
re 26 2
re 34 2
ge 36 2
se 44 2
ge 46 2
re 54 2
re 63 2
re 72 2
re 81 2
(2)match position length
hel 0 3
me 11 3
re 26 3
reg 34 3
seg 44 3
reg 54 3
reg 63 3
reg 72 3
reg 81 3
注:符號.能匹配除換行符以外的任意乙個符號,包括自己本身。
如果你曾經使用過dos的檔案搜尋功能,你將發現正規表示式裡的.字元相當於dos的?字元。sql使用者將注意到正規表示式裡的.字元相當於sql中_(下劃線)字元。
3.匹配特殊字元:e./.txt
結果:match position length
ex.txt 37 6
ex.txt 47 6
注:由於一些特殊的符號在正規表示式中被賦予了特殊的專用功能,所以如果要在文字中匹配這個符號本身的話就必須用轉義符/,如果我們換個正規表示式e..那麼結果會是什麼呢?如下:
match position length
ell 1 3
e i 12 3
e y 27 3
ege 35 3
ege 45 3
ege 55 3
eg1 65 3
eg2 74 3
ega 83 3
egz 92 3
如果需要搜尋/本身,就必須對/字元進行轉義,相應的轉義序列是兩個連續的反斜槓字元//
4.匹配多個字元中的某乙個:[rms]egex.txt
結果:match position length
regex.txt 34 9
segex.txt 44 9
megex.txt 54 9
5.利用字元集合區間:reg[1-9a-z]/.txt
結果:match position length
reg1.txt 64 8
reg2.txt 73 8
rega.txt 82 8
regz.txt 91 8
如果換作reg[1-9]./txt則結果為:
match position length
reg1.txt 64 8
reg2.txt 73 8
6.取非匹配:reg[^1-9].txt
結果:match position length
rega.txt 82 8
regz.txt 91 8
注:^的效果將作用於給定字元集合裡的所有字元或者字元區間,而不是僅限於跟在^字元後面的那乙個字元或者字元區間。
在這個正規表示式測試器中預設是不區分大小寫的。如果測試器預設區分大小寫的話,比如在文字中有regex.txt和regex.txt,你可以用[r|r]egex.txt或者[rr]egex.txt來匹配。
(未完待續)
附(正規表示式測試器網頁**):
正規表示式必知必會
1 字元 語法說明 表示式可匹配 任意普通字元 匹配自身 abcabc 轉義字元 a b a b.匹配除了換行符以外的任何字元 相當於 w的加強版 w看下面一張表 可匹配空格 a c1b 字符集 可以都寫出來也可以寫個範圍如 a z 第乙個字元如果是 表示取反,如 a 表示a除外的所有字元,如果字符...
正規表示式必知必會
1.exactly n of the preceding element.只能匹配連續n個字元 n or more of the preceding element.可以匹配n,或任意大於n個連續字元。貪婪匹配,會盡量匹配多的字元 between m and n of the preceding e...
《正規表示式必知必會》閱讀筆記
最近由於工作需要,再讀了一遍 正規表示式必知必會 這樣一本小書,很快讀完了,對於正規表示式有更深的了解,的確很強大,值得學習。總結了一下,結果如下 正規表示式的兩個用途 搜尋和替換 匹配任何乙個單個的字元 字元集合區間 連字元 取非匹配 特殊元字元 b 回退 f 換頁符 n 換行符 r 回車符 t ...