正規表示式:一種指定字元模式的方法,這個字元模式會在字串中進行匹配。
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正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...