這篇文章主要介紹在Go中使用正則表達式的示例,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

在這個案例中聲明了常量text
然后使用了regexp這個包的regexp.Compile這個方法。
這種方式是不確定用戶輸入的值是否符合匹配規(guī)則。
當(dāng)然也可以看到結(jié)果是返回了我們需要的數(shù)據(jù)。
但是在一般情況下,如果確定了用戶輸入的內(nèi)容是正確的是完全符合的就可以使用下方案例。
在這個案例中可以看到regexp.MustCompile使用了這個方法,并且返回的值也是一樣的。
這個方法沒有返回錯誤,但是在自己的內(nèi)部方法進行了異常處理。
根據(jù)注釋可以得知使用這個方法給的參數(shù)表達式是不必須可以解析的,如果不能解析則就會拋出異常。
接下來我們使用正則進行匹配, 也就是在上圖方法中進行正則表達式的匹配。
案例跟上圖使用的一致都是用來匹配郵箱。
那么接下來先寫第一版本。
可以看到返回結(jié)果就是我們想要的。
關(guān)于正則表達式的寫法這部分內(nèi)容在這里就說明了, 本文主要是針對go如何使用正則表達式。
此時就會反映出第一個問題,那就是FindString這個方法只能匹配一個值。
那如何匹配多個值呢!請看下方案例
可以看到返回結(jié)果是將所有可以匹配的郵箱都給匹配了出來。
匹配多個值需要使用FindAllString這個方法。
第一個參數(shù)為匹配的字符,第二個參數(shù)是尋找多少個,-1是全找
在go中給提供了一種非常好的方式可以直接將郵箱名、郵箱域名、和郵箱后綴給提取出來,那么應(yīng)該怎么做呢!
在這里就不能繼續(xù)使用上述案例的方法了,需要使用FindAllStringSubmatch這個方法
在這個方法中可以得知返回的是一個二維的字符串,從上圖的返回結(jié)果也可以得知返回的就是一個二維的字符串。
既然返回的是二維的字符串切片,那么我們就可以進行循環(huán)來獲取每一個提取出來的內(nèi)容。
可以看到返回了四個匹配,第一個就是完整的,后邊的三個都是我們獲取出來的內(nèi)容。
以上是“在Go中使用正則表達式的示例”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
新聞標題:在Go中使用正則表達式的示例-創(chuàng)新互聯(lián)
本文地址:http://chinadenli.net/article16/hhhdg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、用戶體驗、標簽優(yōu)化、外貿(mào)網(wǎng)站建設(shè)、品牌網(wǎng)站制作、營銷型網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容