激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Ruby - 舉例初步講解Ruby中的正則表達式

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

2020-04-29 10:27腳本之家 Ruby

這篇文章主要介紹了Ruby中的正則表達式,是Ruby學習進階當中的重要知識,需要的朋友可以參考下

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

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

 

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

 

例如:

?
1
2
3
4
5
6
7
8
9
10
11
#!/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

這將產生以下結果:

?
1
Line1 starts with Cats

正則表達式修飾符:

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

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

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

?
1
2
3
4
5
# Following matches a single slash character, no escape required
%r|/|       
 
# Flag characters are allowed with this syntax, too
%r[</(.*)>]i

正則表達式模式:

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

 搜索和替換:

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

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

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

下面的例子:

?
1
2
3
4
5
6
7
8
9
10
11
#!/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}"

這將產生以下結果:

?
1
2
Phone Num : 2004-959-559
Phone Num : 2004959559

下面是另一個例子:

?
1
2
3
4
5
6
7
8
9
10
11
#!/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!(/rails/, "Rails")
 
puts "#{text}"

這將產生以下結果:

?
1
Rails are Rails, really good Ruby on Rails

 

延伸 · 閱讀

精彩推薦
  • RubyRuby設計模式編程中使用Builder建造者模式的實例

    Ruby設計模式編程中使用Builder建造者模式的實例

    這篇文章主要介紹了Ruby設計模式編程中使用Builder建造者模式的實例,建造者模式將一個復雜對象的構造與它的表示分離,使同樣的構建過程可以創建不同的表...

    范孝鵬2192020-05-07
  • Ruby簡要說明Ruby中的迭代器

    簡要說明Ruby中的迭代器

    這篇文章主要介紹了Ruby中的迭代器,迭代器的概念在動態語言的編程中十分重要,文章中介紹了Ruby中的each迭代器和collect迭代器,需要的朋友可以參考下 ...

    goldensun2772020-04-25
  • RubyRuby環境下安裝使用bundler來管理多版本的gem

    Ruby環境下安裝使用bundler來管理多版本的gem

    這篇文章主要介紹了Ruby環境下安裝使用bundler來管理多版本的gem的方法,舉了Ruby On Rails中的應用實例來進行演示,需要的朋友可以參考下 ...

    日拱一卒4332020-05-10
  • RubyRuby簡潔學習筆記(一):字符串、數字、類和對象

    Ruby簡潔學習筆記(一):字符串、數字、類和對象

    這篇文章主要介紹了Ruby簡潔學習筆記(一):字符串、數字、類和對象,本文是學習筆記第一篇,需要的朋友可以參考下 ...

    腳本之家2472020-04-20
  • RubyCentOS中配置Ruby on Rails環境

    CentOS中配置Ruby on Rails環境

    經過一個上午的折騰,終于把ROR環境在CentOS中搞定,繞了很多彎路,把文章寫下來總結一下 ...

    可樂加糖4762020-04-12
  • RubyRuby進行文件信息輸出實例代碼

    Ruby進行文件信息輸出實例代碼

    Ruby進行文件信息輸出實例代碼,數據是隨機的,所以每次的記錄都會不同。 ...

    ruby教程網2962020-04-10
  • Ruby剖析 Ruby 訪問控制

    剖析 Ruby 訪問控制

    前面,我們說 Ruby 沒有函數,只有方法.而且實際上有不止一種方法.這一節我們介紹 訪問控制 (accesscontrols). 想想當我們在最高層而不是在一個類的定義里定義...

    ruby教程網3572020-04-08
  • RubyRuby迭代器的7種技巧分享

    Ruby迭代器的7種技巧分享

    這篇文章主要介紹了Ruby迭代器的7種技巧分享,Ruby中的迭代器非常人性化,本文既是講解了7個技巧也是講解了7種迭代器,需要的朋友可以參考下 ...

    腳本之家4782020-04-20
主站蜘蛛池模板: 热久久成人 | 日韩视频在线免费 | 久久99精品久久久久久国产越南 | 久久嗨| 久久老司机精品视频 | 99seav| 蜜桃视频日韩 | 中文字幕在线视频日本 | 久久草在线看 | 毛片在线播放视频 | 成年人在线免费 | 天天夜干 | 毛片免费观看视频 | 成人黄视频在线观看 | 三级xxxx | 草草视频在线播放 | 国产精品视频自拍 | 羞羞的视频在线免费观看 | 91成人一区 | 蜜桃网站在线观看 | 日本aⅴ在线 | 免费国产人成网站 | 在线观看免费av网 | 一区二区三区日韩 | 一级黄色毛片a | 免费午夜视频在线观看 | 欧美黄色一级片在线观看 | 久久久久久久久浪潮精品 | 奇米影视888狠狠狠777不卡 | 国产中文av在线 | 黄色片在线免费播放 | 国产精品美女久久久免费 | 色婷婷综合久色aⅴ | 免费黄色一级网站 | 日日碰日日操 | 国产一及毛片 | 九九热在线视频免费观看 | 美女黄色毛片免费看 | 国产三级精品最新在线 | 美女视频大全网站免费 | 欧洲成人一区 |