一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

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

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

正則表達式模式:

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

 搜索和替換:

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
主站蜘蛛池模板: 高清国产欧美一v精品 | 国产成人久久精品推最新 | 亚洲10p | 国产成人综合手机在线播放 | yellow视频在线观看免费 | 欧美一区二区三区四区五区六区 | 午夜一区二区福利视频在线 | 欧美一区欧美二区 | 亚洲乱码一二三四五六区 | free service性v极品 | 天天性综合 | 日本国产最新一区二区三区 | 2019nv天堂| 亚洲天堂伦理 | 免费av在线看 | 日本高清不卡一区久久精品 | 国产成年人网站 | 日本久久影视 | 天海翼三级 | 99re热精品这里精品 | 国产亚洲精品aaa大片 | 国内视频一区二区三区 | 精品福利视频一区二区三区 | 精品成人一区二区三区免费视频 | 狠狠做五月深爱婷婷天天综合 | 国产成人永久免费视 | 好涨好大我快受不了了视频网 | 婷婷综合在线 | 成全视频在线观看免费 | 亚洲狼人综合干 | 55夜色66夜亚州精品站 | 欧美大片一区二区 | 国产精品久久久久久久福利院 | 国产裸舞在线一区二区 | chaopeng在线视频进入 | 色网在线观看 | 国产日韩精品一区二区在线观看播放 | 日本四虎影院 | 边摸边吃奶边做爽gif动态图 | 亚洲国产精品成 | 精品亚洲视频在线观看 |