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

首頁 > 學院 > 開發設計 > 正文

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

2019-10-26 19:29:11
字體:
來源:轉載
供稿:網友

正則匹配

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

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

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 

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产日韩精品综合网站| 4438全国成人免费| 国产综合在线看| 久久人人爽人人爽人人片亚洲| 国产精品热视频| 91精品久久久久久久久久久久久| 亚洲九九九在线观看| 亚洲字幕在线观看| 日韩高清av在线| 一区二区在线免费视频| 欧美一级黑人aaaaaaa做受| 国产精品久久久精品| 韩国精品美女www爽爽爽视频| 国产日韩精品一区二区| 91日韩在线播放| 日本久久久久亚洲中字幕| 一区二区欧美日韩视频| 在线观看精品国产视频| 一区二区欧美激情| 亚洲精品在线视频| 亚洲国产美女精品久久久久∴| 亚洲欧美国产一区二区三区| 国产精品久久一区主播| 日本在线精品视频| 俺去了亚洲欧美日韩| 久久久久久亚洲精品不卡| 欧美视频在线看| 成人免费淫片视频软件| 亚洲欧美国产另类| 一本一道久久a久久精品逆3p| 亚洲性69xxxbbb| 久久精品国产2020观看福利| 日韩精品极品在线观看| 三级精品视频久久久久| 亚洲成人黄色在线| 久久久久中文字幕2018| 57pao成人永久免费视频| 亚洲成年人影院在线| 国内精品久久久久伊人av| 蜜月aⅴ免费一区二区三区| y97精品国产97久久久久久| 国产成人综合一区二区三区| 欧美精品videossex88| 91中文精品字幕在线视频| 91免费版网站入口| 精品久久久久久亚洲国产300| 日韩精品在线视频观看| 91av在线播放| 粉嫩av一区二区三区免费野| 91视频国产一区| 亚洲精品国产suv| 日韩精品视频在线观看网址| 亚洲国产成人久久| 国产亚洲精品美女久久久| 午夜精品久久久久久99热软件| 97香蕉久久超级碰碰高清版| 日韩精品视频在线免费观看| 久久久久中文字幕2018| 91精品久久久久久综合乱菊| 亚洲美腿欧美激情另类| 欧美激情aaaa| 久久99热精品这里久久精品| 成人精品视频久久久久| 亚洲欧美在线一区| 欧美国产亚洲视频| 国产99久久精品一区二区 夜夜躁日日躁| 欧美午夜影院在线视频| 国产精品视频精品视频| 亚洲欧美激情另类校园| 九九九热精品免费视频观看网站| 欧美在线视频导航| 欧美精品电影在线| 亚洲无av在线中文字幕| 日韩风俗一区 二区| 成人欧美一区二区三区在线| 中文字幕av一区二区三区谷原希美| 欧美黄色免费网站| 亚洲美女又黄又爽在线观看| 韩国国内大量揄拍精品视频| 中文字幕日韩欧美精品在线观看| 黄色精品在线看| 国产亚洲欧洲高清一区| 97在线观看免费| 97香蕉久久夜色精品国产| 亚洲精品国精品久久99热| 亚洲精品大尺度| 亚洲欧洲在线看| 日本a级片电影一区二区| 久久久久久久激情视频| 亚洲精品资源在线| 国产xxx69麻豆国语对白| 国内精品模特av私拍在线观看| 色青青草原桃花久久综合| 亚洲精品网站在线播放gif| 国产精品久久久久久av福利| 精品久久久久久久久久久久| 亚洲在线观看视频网站| 国产精品久久久久久久app| xxxx欧美18另类的高清| 2019av中文字幕| 亚洲专区在线视频| 国产精品免费小视频| 欧美黄网免费在线观看| 日韩中文字幕国产精品| 亚洲成人网久久久| 神马国产精品影院av| 欧美激情精品在线| 久久这里有精品视频| 亚洲bt欧美bt日本bt| 91tv亚洲精品香蕉国产一区7ujn| 日本久久久久久久久久久| 日本午夜人人精品| 日本一本a高清免费不卡| 欧美高清激情视频| 日韩电视剧在线观看免费网站| 欧美中文字幕在线观看| 亚洲男人天堂网| 亚洲欧美精品中文字幕在线| 亚洲第一色在线| 正在播放欧美一区| 亚洲国产美女精品久久久久∴| 亚洲一区二区中文字幕| 精品国内产的精品视频在线观看| 欧美精品少妇videofree| 国产精品久久一区主播| 欧美日本啪啪无遮挡网站| 国产在线一区二区三区| 精品人伦一区二区三区蜜桃免费| 亚洲免费人成在线视频观看| 欧美夫妻性生活视频| 日韩欧美中文字幕在线观看| 国外成人在线播放| 久久免费视频这里只有精品| 久久影视电视剧免费网站| 久久久精品影院| 久久久久久美女| 国产欧美日韩中文字幕| 国产精品男女猛烈高潮激情| 国内精品视频在线| 欧美精品xxx| 日韩日本欧美亚洲| 欧美电影在线观看网站| 国产精品久久久久久久美男| 国产精品ⅴa在线观看h| 亚洲欧美日韩区| 国产精品亚洲аv天堂网| 欧美日韩国产色| 国产欧美精品日韩精品| 日本三级韩国三级久久| 亚洲精品国精品久久99热一| 亚洲丁香婷深爱综合| 国产香蕉97碰碰久久人人| 欧美激情xxxx性bbbb| 色噜噜狠狠狠综合曰曰曰88av| 欧美在线观看日本一区| 亚洲 日韩 国产第一| 久久69精品久久久久久久电影好| 奇米4444一区二区三区| 亚洲成色999久久网站| 欧美极度另类性三渗透| 亚洲直播在线一区| 午夜剧场成人观在线视频免费观看| 亚洲男人天堂2023| 在线播放日韩av|