1顯式的正則表達式調(diào)用
有兩個對象,一個是模式對象,一個是匹配結(jié)果對象
re = /(\d+):(\d+)/ md = re.match("Time: 12:34am") p md, md[0], md[1], md[2], md[3], md.pre_match, md.post_match
2Perl式的正則表達式調(diào)用
這里面隱含了re對象、以及match對象
message = "Time: 12:34am" message =~ /(\d+):(\d+)/ p $&, $1, $2, $3, $`, $'
3兩個細節(jié)
=~表達式是有返回值的,如果不匹配返回nil,匹配則返回第一個字符的位置
message = "Time: 12:34am" a = (message =~ /(\d+):(\d+)/) p a
ruby是在match對象和$1這樣的對象之間建立了一座橋梁,即$~
re = /(\d+):(\d+)/ md1 = re.match("Time: 12:34am") md2 = re.match("Time: 10:30pm") p $1, $2 $~ = md1 p $1, $2
4測試正則表達式匹配效果的代碼
def show_regexp(a, re) if a =~ re "#{$`}<<#{$&}>>#{$'}" else "no match" end end p show_regexp("abc\ndef\nghi", /abc/)
5錨點
參考http://fsjoy.blog.51cto.com/318484/68433/
^$是真正意義上行的起始點和結(jié)束點
\A\z是真正意義上字符串的起始點和結(jié)束點
\Z忽略字符串結(jié)束時的那個回車符,但是字符串中間的回車符不忽略
def show_regexp(a, re) if a =~ re "#{$`}<<#{$&}>>#{$'}" else "no match" end end p show_regexp("hello world fuck u down towndown gardon ", /gardon\z/)
http://www.rubular.com/
這個網(wǎng)站測試錨點時回車必須敲出來,而不是用\n,應該是字符串識別的問題。
用show_regexp是直接回車,還是\n效果是一樣的。
創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務器,動態(tài)BGP最優(yōu)骨干路由自動選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡助力業(yè)務部署。公司持有工信部辦法的idc、isp許可證, 機房獨有T級流量清洗系統(tǒng)配攻擊溯源,準確進行流量調(diào)度,確保服務器高可用性。佳節(jié)活動現(xiàn)已開啟,新人活動云服務器買多久送多久。
網(wǎng)頁名稱:ruby正則表達式-創(chuàng)新互聯(lián)
網(wǎng)頁網(wǎng)址:http://jinyejixie.com/article30/dphsso.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供響應式網(wǎng)站、網(wǎng)站策劃、品牌網(wǎng)站制作、網(wǎng)站設計、搜索引擎優(yōu)化、網(wǎng)站建設
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容