最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

舉例初步講解Ruby中的正則表達式

 更新時間:2015年05月13日 09:42:12   投稿:goldensun  
這篇文章主要介紹了Ruby中的正則表達式,是Ruby學習進階當中的重要知識,需要的朋友可以參考下

 正則表達式是一個特殊的字符序列可以幫助匹配或者找到其他字符串或串套,使用的模式保持一個專門的語法。

正則表達式文本是一個模式之間的斜線之間或任意分隔符 %r 如下:
語法:

復制代碼 代碼如下:
/pattern/
/pattern/im    # option can be specified
%r!/usr/local! # general delimited regular expression

例如:

#!/usr/bin/ruby

line1 = "Cats are smarter than dogs";
line2 = "Dogs also like meat";

if ( line1 =~ /Cats(.*)/ )
 puts "Line1 starts with Cats"
end
if ( line2 =~ /Cats(.*)/ )
 puts "Line2 starts with Dogs"
end

這將產生以下結果:

Line1 starts with Cats

正則表達式修飾符:

正則表達式的文字可以包括一個可選的修飾符來控制各方面的匹配。修改指定第二個斜杠字符后,如前面所示,可表示為這些字符之一:

201551393809550.jpg (572×316)

 %Q分隔字符串文字一樣,Ruby允許正則表達式帶 %r,然后由所選擇的定界符。這是非常有用的,當所描述的模式中包含正斜杠字符不希望轉義:

# Following matches a single slash character, no escape required
%r|/|        

# Flag characters are allowed with this syntax, too
%r[</(.*)>]i 

正則表達式模式:

除控制字符, (+ ? . * ^ $ ( ) [ ] { } | \), 所有字符匹配。可以轉義控制字符前面加上反斜線。

 搜索和替換:

String方法最重要的,使用正則表達式sub 和 gsub,他們就地變種sub! 和 gsub!

所有這些方法執(zhí)行搜索和替換操作過程中使用一個正則表達式模式。sub & sub!替換第一次出現的模式 gsub & gsub!替換所有出現。

sub! 和 gsub! 返回一個新的字符串,未經修改的原始 sub 和 gsub 他們被稱為修改字符串。

下面的例子:

#!/usr/bin/ruby

phone = "2004-959-559 #This is Phone Number"

# Delete Ruby-style comments
phone = phone.sub!(/#.*$/, "")  
puts "Phone Num : #{phone}"

# Remove anything other than digits
phone = phone.gsub!(/\D/, "")  
puts "Phone Num : #{phone}"

這將產生以下結果:

Phone Num : 2004-959-559
Phone Num : 2004959559

下面是另一個例子:

#!/usr/bin/ruby

text = "rails are rails, really good Ruby on Rails"

# Change "rails" to "Rails" throughout
text.gsub!("rails", "Rails")

# Capitalize the word "Rails" throughout
text.gsub!(/\brails\b/, "Rails")

puts "#{text}"

這將產生以下結果:

Rails are Rails, really good Ruby on Rails

相關文章

  • Ruby中實現統計文件行數、單詞數和字符數

    Ruby中實現統計文件行數、單詞數和字符數

    這篇文章主要介紹了Ruby中實現統計文件行數、單詞數和字符數,本文是自定義的一個函數,需要的朋友可以參考下
    2015-01-01
  • 簡要解讀Ruby面向對象編程中的作用域

    簡要解讀Ruby面向對象編程中的作用域

    作用域在面向對象編程中是一個十分重要的概念,程序構建時必須要理解清楚類和方法以及對象的作用范圍,接下來就為大家簡要解讀Ruby面向對象編程中的作用域
    2016-05-05
  • 以MVC的思維方式來理解Ruby on Rails框架的設計結構

    以MVC的思維方式來理解Ruby on Rails框架的設計結構

    Ruby on Rails是Ruby世界中Web開發(fā)框架的代名詞,人氣相當之高,本文就帶大家以MVC的思維方式來理解Ruby on Rails框架的設計結構,需要的朋友可以參考下
    2016-05-05
  • Ruby中Time對象的常用函數總結

    Ruby中Time對象的常用函數總結

    這篇文章主要介紹了Ruby中Time對象的常用函數總結,包括Ruby中一些實用的時間算法,需要的朋友可以參考下
    2016-03-03
  • CentOS7下安裝Ruby3.2.4的實施路徑詳解

    CentOS7下安裝Ruby3.2.4的實施路徑詳解

    在CentOS 7系統上安裝Ruby 3.2.4版本需要先安裝RVM作為版本管理工具,安裝過程涉及到安裝GPG的key、RVM的最新穩(wěn)定版本以及Ruby的前置依賴,下面給大家介紹CentOS7下安裝Ruby3.2.4的實施路徑,感興趣的朋友跟隨小編一起看看吧
    2024-09-09
  • RUBY 新手教程 跟我一起學ruby

    RUBY 新手教程 跟我一起學ruby

    從今天起我就要開始學Ruby了。怎么樣,沒見吧?一個新人寫教程。就憑我堅強的毅力,科學的自學方法,以及我的鉆研精神,我有信心學通Ruby,而同樣是新手的你也可以!
    2011-01-01
  • Ruby中的block、proc、lambda區(qū)別總結

    Ruby中的block、proc、lambda區(qū)別總結

    這篇文章主要介紹了Ruby中的block、proc、lambda區(qū)別總結,本文講解了yield 和 block call 的區(qū)別、block 和 proc、lambda 的區(qū)別、proc 和 lambda 的區(qū)別,需要的朋友可以參考下
    2015-03-03
  • Jekyll靜態(tài)網站后臺引擎使用教程

    Jekyll靜態(tài)網站后臺引擎使用教程

    今天,我就來示范如何在github上搭建Blog,你可以從中掌握github的Pages功能,以及Jekyll軟件的基本用法。更重要的是,你會體會到一種建立網站的全新思路。
    2016-04-04
  • ruby on rails中Model的關聯詳解

    ruby on rails中Model的關聯詳解

    本文給大家詳細講解了ruby on rails中model關聯的幾種形式,包括一對多,一對一,多對多。并給出了詳細的示例,有需要的小伙伴可以參考下
    2017-07-07
  • Ruby實現的合并排序算法

    Ruby實現的合并排序算法

    這篇文章主要介紹了Ruby實現的合并排序算法,本文直接給出實現代碼,需要的朋友可以參考下
    2015-05-05

最新評論

中山市| 云阳县| 永德县| 临澧县| 当雄县| 丰原市| 通道| 侯马市| 花莲市| 交城县| 澳门| 长沙市| 汨罗市| 安阳市| 太湖县| 虞城县| 栾川县| 土默特右旗| 沈丘县| 临城县| 礼泉县| 韶关市| 兴和县| 喜德县| 正镶白旗| 吉木乃县| 水富县| 安仁县| 保定市| 大余县| 白山市| 汕尾市| 榆林市| 门头沟区| 昂仁县| 五河县| 平利县| 新河县| 胶南市| 耿马| 于都县|