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

首頁 > 編程 > Ruby > 正文

使用Ruby re模塊創建復雜的正則表達式

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

復雜的正則表達式很難構造或讀取,Ruby的re模塊可以幫助您用簡單表達式構建復雜的正則表達式,本文將詳細給大家介紹使用Ruby re模塊創建復雜的正則表達式。

例如,考慮下面的匹配日期的正則表達式:

復制代碼 代碼如下:
//A((?:19|20)[0-9]{2})[/- //.](0[1-9]|1[012])[/- //.](0[1-9]|[12][0-9]|3[01])/z/


使用Re之后,正則表達式可以短小易讀的表達式為基礎,一步一步地構建出來,例如:

?

?

?


雖然代碼量增加了,但是每個部分都很短小,也很容易驗證。同時,捕獲的部分可以通過相應的變量名訪問:

?


注意,用Re構建正則表達式會很慢,所以推薦創建正則表達式并復用。匹配的時候,性能和原生的正則表達式很接近。(額外的方法調用和創建Re::Result以返回匹配結果影響一點點性能。)如果你需要追求極致的性能,你仍然可以使用Re來構建正則表達式,然后抽取出原始的Ruby Regexp來匹配。這樣的話,性能就和使用原生正則表達式一樣了。

?

例如,構建匹配電話號碼的正則表達式:

復制代碼 代碼如下:

PHONE_RE = re.digit.repeat(3).capture(:area) +
?????????????? re("-") +
?????????????? re.digit.repeat(3).capture(:exchange) +
?????????????? re("-") +
?????????????? re.digit.repeat(4)).capture(:subscriber)


然后抽取出原始的正則對象,直接使用它來匹配:

?

?

以上就是關于使用Ruby re模塊創建復雜的正則表達式,要想知道更多的技術知識,大家需要去做多方了解,武林技術頻道是你的滿意選擇,大家可以放心閱覽。

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

圖片精選

主站蜘蛛池模板: 国产精品久久久久久久四虎电影 | 九九热这里只有精品8 | 成年性羞羞视频免费观看 | 成人毛片100部| 一级毛片免费观看在线 | 成年免费大片黄在线观看岛国 | 性爱视频免费 | 日本在线一区二区 | 久久成人免费网 | 污黄视频在线观看 | 日本在线一区二区 | 久久精品日产高清版的功能介绍 | 羞羞的动漫在线观看 | 性欧美xxxx免费岛国不卡电影 | 天天草夜夜骑 | 国产91久久精品一区二区 | 国产精品一品二区三区四区18 | 成人免费福利网站 | 在线播放亚洲视频 | 日韩三级伦理在线观看 | 日日艹夜夜艹 | 欧美一区二区三区免费观看 | 康妮卡特欧美精品一区 | 国产青草视频在线观看 | 午夜视频色 | 高清国产午夜精品久久久久久 | 精品国产一区二区在线 | 黄色男女视频 | 毛片大全 | 亚欧在线免费观看 | 欧美一级免费高清 | 羞羞视频免费观看网站 | 欧美成人一区二区三区 | 精品国产91久久久久 | 欧美国产日韩在线观看成人 | 久草免费资源视频 | 国产成人av一区二区 | 久久亚洲一区二区三区成人国产 | 日本在线不卡一区二区 | 性欧美暴力猛交69hd | 中文字幕网站在线 |