ruby中常會用到正規表示式。正規表示式是用來表達字串的模式(pattern)的。也可以這麼理解:我們使用正規表示式來表示某種搜尋規則,然後使用該正規表示式來完成字串的搜尋工作。舉個例子,假定有這樣的搜尋規則:「字串以』foo』開始,以』r』結束」,那麼就可以使用以下正規表示式來表示該規則。
/^foo.*r$/
ruby用//將正規表示式括起來。^表示開頭,$表示結尾,.*表示0個以上的任意字元。
現在就講講正規表示式的規則的寫法。正規表示式中有很多上述的具有特別意義的字元。首先是下列字元。
[ ] 範圍描述符。[a-z]表示從a到z之間的任意乙個。
( 注意大小寫的區分:)
\w 英文本母和數字。即[0-9 a-z a-z]。
\w 非英文本母和數字
\s 空字元,即[\t\n\r\f]。
\s 非空字元。
\d 數字,即[0-9]。
\d 非數字。
\b 詞邊界字元(在範圍描述符外部時)
\b 非詞邊界字元
\b 退格符(0x08)(在範圍描述符內部時)
* 前面元素出現0次以上
+ 前面元素出現1次以上
前面元素最少出現m次,最多出現n次
? 前面元素出現0次或1次
| 選擇
( ) 群組
其他字元 該字元本身
例如,「^f[a-z]+」表示「第乙個字元是f,後面是若干個從a到z之間的字元」,可以是「fobar」或「fool」等等。這種表達法就是正規表示式(regular expression)。在搜尋字串時正規表示式非常有用,因此在unix的世界裡,正規表示式得到了廣泛的應用。grep程式就是個代表。許多人是不是經常會用到它呢?
[url]
ruby正規表示式
ruby用 將正規表示式括起來。表示開頭,表示結尾,表示0個以上的任意字元。現在就講講正規表示式的規則的寫法。正規表示式中有很多上述的具有特別意義的字元。首先是下列字元。範圍描述符。a z 表示從a到z之間的任意乙個。w 英文本母和數字。即 0 9 a z a z w 非英文本母和數字 s 空字元,...
Ruby 正規表示式
ruby的正規表示式以 作為構造方法。表示式返回乙個regexp的物件。一般規則 a 匹配字元a。匹配特殊字元?特殊字元包括 匹配任意字元,例如 a.匹配ab和ac。ab c 匹配ac和bc,之間代表範圍。例如 a z a za z0 9 a za z0 9 匹配不在該範圍內的字串。d 代表任意數字...
ruby 正規表示式
ruby支援的正規表示式符號 元字元 有這麼個規則 不帶 的數字和字母不是元字元 帶 的符號也不是元字元 下文中出現的 匹配多位元組字元的正規表示式 是指,通過使用 kcode進行設定,或顯式地使用漢字選項 請參考正規表示式字面值 等方式進行的匹配多位元組字元的正規表示式。行首。與字串的頭部或換行符...