麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 編程 > Ruby > 正文

Ruby中使用正則表達(dá)式的基礎(chǔ)指引

2020-10-29 19:38:02
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

正則表達(dá)式的內(nèi)建支持通常只限于腳本語(yǔ)言如Ruby,Perl和awk等,這是一個(gè)恥辱:盡管正則表達(dá)式很神秘,但它是一個(gè)強(qiáng)大的文本處理工具。通過(guò)內(nèi)建而不是通過(guò)程序庫(kù)接口來(lái)支持它,有很大的不同。

正則表達(dá)式只是一種指定字符模式的方法,這個(gè)字符模式會(huì)在字符串中進(jìn)行匹配。在Ruby中,通常在斜線之間(/pattern/)編寫(xiě)模式(pattern)來(lái)創(chuàng)建正則表達(dá)式。同時(shí),Ruby就是Ruby,正則表達(dá)式是對(duì)象并且可以當(dāng)作對(duì)象來(lái)操作。

比如,可以使用如下的正則表達(dá)式來(lái)編寫(xiě)模式,它會(huì)匹配包含Perl或Python的字符串。

復(fù)制代碼 代碼如下:
/Perl|Python/

前面那個(gè)斜線界定了這個(gè)模式,模式由要匹配的兩個(gè)子字符串組成,它們被管道符(|)分開(kāi)。管道符意味著“要么右邊的字符串,要么左邊的字符串”。在這個(gè)例子中,它們分別是Perl或Python。就像在算術(shù)表達(dá)式中的那樣,可以在模式中使用括號(hào),因此可以把模式寫(xiě)成

復(fù)制代碼 代碼如下:
/P(erl|ython)/

也可以在模式中指定重復(fù)(repetition)。/ab+c/匹配一個(gè)含有a,后面跟著一個(gè)或多個(gè)b,其后是c的字符串。把模式中的加號(hào)改成星號(hào),/ab*c/創(chuàng)建了一個(gè)匹配含有a,零個(gè)或多個(gè)b和然后是c的正則表達(dá)式

也可以在模式中匹配一組或多組字符。一些常見(jiàn)的例子是字符類(lèi)(character classes)如/s,它匹配空白字符(空格符、制表符、回車(chē)換行符等等);/d 匹配任何數(shù)字;還有/w,它匹配會(huì)出現(xiàn)在一個(gè)詞內(nèi)的任何字符。一個(gè)點(diǎn)(.)匹配幾乎任意字符。

一旦創(chuàng)建了模式,不去用它總不好意思。=~匹配操作符可以用正則表達(dá)式來(lái)匹配字符串。如果在字符串中發(fā)現(xiàn)了模式,=~返回模式的開(kāi)始位置,否則它返回nil。這意味著可以在if和while語(yǔ)句中把正則表達(dá)式當(dāng)作條件使用。比如,如果字符串包含了Perl或Python,下面的代碼輸出一條消息。

復(fù)制代碼 代碼如下:
if line=~/Perl|Python/

 puts "Scripting language mentioned:#{line}"

end

正則表達(dá)式匹配到的字符串部分,可以用Ruby的其中一種替換方法,替換為其他文本。

復(fù)制代碼 代碼如下:
line.sub(/Perl/,'Ruby')                               #用'Ruby'替換第一個(gè)'Perl'

line.gsub(/Python/,'Ruby')                         #用'Ruby'替換所有的'Python'

使用下面語(yǔ)句可以用Ruby替換出現(xiàn)Perl和Python的每個(gè)地方。

復(fù)制代碼 代碼如下:
line.gsub(/Perl|Python/,'Ruby')

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 美女黄影院| 久久国产成人精品国产成人亚洲 | 亚洲va在线 | 久久久久av电影 | 失禁高潮抽搐喷水h | 毛片福利 | 黄色片网站在线免费观看 | 亚州视频在线 | 日韩黄网站| 国产羞羞网站 | 久久撸视频 | 国产午夜亚洲精品理论片大丰影院 | 中文字幕在线视频日本 | 欧美成人免费看 | 中国老女人一级毛片视频 | 亚洲第一页综合 | 91国在线高清视频 | 98国内自拍在线视频 | 黄视频免费在线 | 久久久久久艹 | 欧美高清第一页 | 中文字幕亚洲一区二区三区 | 丁香天堂网 | 经典三级在线视频 | 国产91av视频 | 看免费黄色一级片 | 久国产| 一级做a爱片久久毛片a高清 | 91小视频在线观看免费版高清 | 亚洲人成网站免费播放 | 欧美性激情视频 | 色妹子久久| 亚洲3p激情在线观看 | 亚洲午夜国产 | 成人一级黄色片 | 欧洲成人在线视频 | 国产剧情v888av | 在线观看免费毛片视频 | 黄色av电影在线播放 | 久久久久久久一区二区 | 久久久久夜色精品国产老牛91 |