亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Ruby > 正文

詳解Ruby中正則表達式對字符串的匹配和替換的操作方法

2020-02-24 15:37:10
字體:
來源:轉載
供稿:網友

正則表達式是通過使用特殊語法的模式來匹配或查找其他字符串或字符串集的特殊字符序列,今天是武林技術頻道小編為大家介紹的詳解Ruby中正則表達式對字符串的匹配和替換的操作方法。

正則匹配

說起Ruby當然要提起它的正則表達式機制,正則表達式作為一個強大的匹配語言已經越來越多的使用到不同的領域當中,從字符串驗證,匹配,到網頁抽取等。雖然有些人詬病與正則表達式的匹配效率,但是考慮到正則的強大匹配能力也就無所謂了。

說起Ruby正則表達式不就不能不說起Ruby的=~和match兩種匹配方式,我們還是用實例來說明一下這兩種匹配方式的區別吧。先來說一說=~的用法吧:

ruby;">message="afhadhffkdf414j" regex=/[a-z](/d{3})[a-z]/ puts regex=~message message="afhadhffkdf414j" regex=/[a-z](/d{3})[a-z]/ puts regex=~message 

在Ruby當中是用//來表示正則表達式匹配語句的。大家可以運行一下,上面的語句是匹配三個數字兩邊都是小寫字母的一個字符串。我們運行上面代碼,將會出現結果10.你一定很奇怪,為什么會出現10這個結果,這就是=~的魅力,他是將匹配結果的首次出現位置打印出來。

那下面我們來看看match吧:

message="afhadhffkdf414j" regex=/[a-z](/d{3})[a-z]/ puts regex.match(message)  message="afhadhffkdf414j" regex=/[a-z](/d{3})[a-z]/  puts regex.match(message) 

我們來看看輸出結果吧:f414j。該字符串表示的正則語句匹配的所有符合規則的結果集。不知道大家注意到沒,我們在正則表達式里面用到了括號,我們希望抽取出三個數字就可以了。當然這也很簡單,我們只需要在上面的代碼當中稍作修改即可:

message="afhadhffkdf414j" regex=/[a-z](/d{3})[a-z]/ regex.match(message) puts $1  message="afhadhffkdf414j" regex=/[a-z](/d{3})[a-z]/ regex.match(message) puts $1 

結果自然是414.為什么要使用$1而不是$0呢,我們看看$0的結果吧。

C:/Users/Administrator/Documents/NetBeansProjects/RubyApplication1/lib/regex.rb

?
它是輸出的該對象信息。

下面又出現了一個新的情況,假設一個字符串當中有很多符合規則的信息怎么辦呢。上面的語句只能匹配出最先找到的結果,而我們需要把所有的結果都打印出來怎么辦呢?剛開始我受java的影響,認為match的結果會是一個集合,所以怎么考慮也沒有整出來。后來發現有一個scan方法。代碼如下所示:

message="afhadhffkdf414j9tr3j43i3433094jwoert223jwew123dfdf" regex=/[a-z](/d{3})[a-z]/ message.scan(regex).each{|m|puts"Theresultis#{m[0]}"}  message="afhadhffkdf414j9tr3j43i3433094jwoert223jwew123dfdf" regex=/[a-z](/d{3})[a-z]/ message.scan(regex).each{|m|puts"Theresultis#{m[0]}"} 

很簡單,結果就是:

Theresultis414 Theresultis223 Theresultis123  Theresultis414 Theresultis223 Theresultis123 

怎么樣,很方便吧。很簡單的就把所有的匹配結果都抽取出來了。

正則表達式的分組

可以對正則表達式進行分組,并在匹配成功后把分組的值存儲到$1,$2,$3,$4.......

print $1,"/n",$2 if "a1b2c3d4e5" =~ /(/w{2})(/w*)/ 

字符串的正則替換:

print "abcd".sub(//w/,"9") print "/n"  print "abcd".gsub(//w/,"9") 


正則中的特殊全局變量:

  • ??? $1,$2,$3....分組匹配文本
  • ??? $`?? 匹配文本之前的文本
  • ??? $'??? 匹配文本之后的文本
print <pre name="code" class="ruby">,"/n",{1},"/n", if "ab9cd" =~ //d/ 

?

上文是武林技術頻道小編介紹的詳解Ruby中正則表達式對字符串的匹配和替換的操作方法,大家都了解了嗎?小編希望大家認真閱讀分享出來的知識,這些內容都是經過篩選才和大家分享的。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美多人乱p欧美4p久久| 日韩欧美在线字幕| 亚洲精品福利在线观看| 国产精品视频久久久| 美日韩在线视频| 欧美一级片免费在线| 98午夜经典影视| 国产日韩综合一区二区性色av| 国产精品成人免费视频| 伊人激情综合网| 久久国内精品一国内精品| 日本中文字幕不卡免费| 亚洲国产另类久久精品| 国产免费一区二区三区在线能观看| 亚洲欧美日本精品| 国产精品午夜国产小视频| 亚洲天堂2020| 亚洲国产高清福利视频| 欧美中文在线观看| 亚洲日韩中文字幕在线播放| 欧美激情视频网站| 亚洲欧美日韩国产中文专区| 欧美成人免费网| 久久久精品影院| 欧美激情第1页| 欧美电影免费在线观看| 国产精品美女www爽爽爽视频| 成人欧美一区二区三区在线湿哒哒| 国产小视频国产精品| 日韩欧美国产免费播放| 亚洲乱码一区二区| 日韩av手机在线观看| 91国产精品91| 日韩精品久久久久久久玫瑰园| 青青久久av北条麻妃黑人| 日韩在线国产精品| 欧美日韩亚洲天堂| 欧美又大又硬又粗bbbbb| 亚洲白虎美女被爆操| 91中文字幕在线观看| 91精品国产自产91精品| 亚洲精品美女在线| 久久精品中文字幕电影| 欧美午夜影院在线视频| 亚洲欧美日韩一区二区三区在线| 国产精品黄色av| 97国产在线观看| 国产精品视频男人的天堂| 欧美视频在线观看免费| 国产日韩欧美电影在线观看| 国产精品高清在线观看| 亚洲午夜av久久乱码| 欧美黑人性生活视频| 久久激情视频免费观看| 国产亚洲视频在线观看| 国产成人精品优优av| 国产z一区二区三区| 亚洲已满18点击进入在线看片| 韩曰欧美视频免费观看| 亚洲成人网av| 一区二区欧美久久| 亚洲精品第一页| 欧美日本高清一区| 亚洲精品小视频在线观看| 亚洲男人第一网站| 欧美巨乳在线观看| 午夜精品视频在线| 国外成人免费在线播放| 欧美性生活大片免费观看网址| 成人激情视频在线| 91综合免费在线| 精品久久久久久亚洲国产300| 亚洲自拍偷拍福利| 都市激情亚洲色图| 久久精品视频播放| 国产精品永久免费在线| 在线观看日韩www视频免费| 国产精品免费久久久久影院| 精品日本高清在线播放| 成人国产在线视频| 国产亚洲精品成人av久久ww| 国产精品99蜜臀久久不卡二区| 国产成人免费av| 亚洲xxxxx性| 亚洲色图av在线| 亚洲精品www久久久| 国产日韩欧美黄色| 欧美日韩爱爱视频| 日韩美女在线观看一区| 日韩在线观看你懂的| 亚洲欧美国产制服动漫| 国产精品中文字幕在线观看| 欧美日韩精品在线播放| 亚洲精品成人免费| 欧美在线观看www| 国产精品视频公开费视频| 日韩精品免费一线在线观看| 91色琪琪电影亚洲精品久久| 精品久久久久久久久国产字幕| 欧美午夜激情视频| 最近2019年手机中文字幕| 中文字幕在线看视频国产欧美| 成人国内精品久久久久一区| 中文字幕亚洲综合久久筱田步美| 最好看的2019年中文视频| 97在线视频观看| 亚洲第一男人天堂| 久久天天躁狠狠躁夜夜躁| 一区二区中文字幕| 国产精品美女久久久久久免费| 午夜精品久久久久久久久久久久| 中文字幕自拍vr一区二区三区| 91精品国产网站| 亚洲人成绝费网站色www| 国产精品视频永久免费播放| 欧美日韩在线免费观看| 美女黄色丝袜一区| 日韩欧美大尺度| 国产精品日日摸夜夜添夜夜av| 日韩欧美中文第一页| 自拍偷拍亚洲精品| 成人伊人精品色xxxx视频| 国产97在线观看| 少妇av一区二区三区| 欧美激情亚洲另类| 久久久免费观看视频| 亚洲视频自拍偷拍| 欧美极品少妇xxxxⅹ喷水| 国产成人精品日本亚洲专区61| 久久久噜噜噜久噜久久| 亚洲国产成人在线视频| 国产精品极品在线| 亚洲精品视频久久| 国产精品国产自产拍高清av水多| 欧洲中文字幕国产精品| 亚洲一区二区三区sesese| 国产精品永久在线| 欧美人在线视频| 国产精品情侣自拍| 欧美日韩国产123| 国产91精品久久久久久久| 久久久久久久久久av| 日韩经典第一页| 国产一区二区三区日韩欧美| 亚洲精品美女在线观看| 九九综合九九综合| 亚洲精品久久久久中文字幕欢迎你| 亚洲精品久久久久久久久久久久久| 日本最新高清不卡中文字幕| 国产精品嫩草视频| 91久久精品久久国产性色也91| 亚洲第一男人天堂| 九色精品免费永久在线| 国产不卡精品视男人的天堂| 亚洲高清一区二| 在线观看国产精品91| 在线亚洲午夜片av大片| 欧美激情免费视频| 日韩欧美在线字幕| 91精品视频在线播放| 91香蕉国产在线观看| 欧美日韩久久久久| 91网在线免费观看| 亚洲大尺度美女在线|