04 27 2010 正規表示式

2022-07-31 07:45:11 字數 1763 閱讀 9511

正規表示式:一種指定字元模式的方法,這個字元模式會在字串中進行匹配。

ruby中,通常指斜線之間(/pattern/)編寫模式來建立正規表示式。

sample:

/perl|python/                 #匹配包含perl或python的字串。"|"是管道符,要麼左邊,要麼右邊。

/p(erl|ython)/                #類似算術表示式

/ab+c/                          #模式中指定重複,匹配乙個含有a,後面跟著乙個或多個b,其後是c的字串。

/ab*c/                          #匹配含有a,零個或多個b,然後是c的字串。

模式中匹配一組或者多組字元:

字元類:

\s                                 #匹配空白字元(空格符,製表符,回車換行符等等)  

\d                                 #匹配任何數字

\w                                 #匹配會出現在乙個詞內的任何字元

.#匹配幾乎任意字元

sample:

/\d\d:\d\d:\d\d/                                 #時間如12:34:56

/perl.*python/                                   #perl,零個或多個別的字元,然後是python

/perl python/                                     #perl,乙個空格和python

/perl *python/                                   #perl,零個或多個空格,和python

/perl +python/                                   #perl,乙個或多個空格,和python

/perl\s+python/                                 #perl,空格字元,然後是python

/ruby (perl|python)/                           #ruby,乙個空格,然後是perl或者python

匹配操作符:=~

用正規表示式來匹配字串,如果在字串中發現了模式,=~返回模式的開始位置,否則返回nil.

sample:

if line =~ /perl|python/

puts 「scripting language mentioned: #」

end正規表示式匹配到的字串部分,可以使用ruby的其中一種替換方法,替換為其他文字

line.sub(/perl/, 『ruby』)                   #用'ruby』替換第乙個'perl』

line.gsub(/python/, 『ruby』)            #用'ruby』替換所有的'python』

line.gsub(/perl|python/, 『ruby』)      #用'ruby』替換所有的'perl』和'python』

正規表示式 正規表示式 總結

非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...

正規表示式 表示式

網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...

Linux正規表示式 編寫正規表示式

為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...