Go學習之regexp包學習

2021-09-03 01:21:39 字數 2694 閱讀 1725

)//compile——判斷乙個正規表示式是否合法,採用最左最短匹配

findstring——在傳入字串中查詢正規表示式匹配的內容,並返回第乙個匹配的物件

func testcompile()

fmt.println(ret.findstring("2312eweqeqw"))

}//compileposix——和complie一樣,使用的是posix語法規則,採用最左最長匹配

func testcompileposix()

fmt.printf("%q\n", ret.findstring("hello world"))

}//mustcompileposix和compileposix作用一樣,不一樣的是當正規表示式不合法的時候會報出異常而不是錯誤

func testmustcompileposix()

//統計正規表示式中分組的個數

func testnumsubexp()

//subexpnames——返回正規表示式中的分組名稱,乙個圓括號表示乙個分組

//返回值[0]為整個表示式的名稱

//返回值[1]為分組1的名稱,其餘依次向後推

func testsubexpnames()

//literalprefix——返回所有匹配項共同擁有的字首(去除可變元素)

//返回值說明:第乙個返回值表示共同擁有的字首,第二個表示式看是不是正規表示式如果是正規表示式返回true,否則返回false

func testliteralprefix()

//matchread——判斷在r中能否找到正規表示式所匹配的子串

//引數描述:第乙個表示要查詢的正規表示式,第二個表示要在其中查詢的runereader介面

//返回值描述:第乙個返回值表示是否匹配到,匹配到了返回true否則返回false,第二個返回值為err

func testmatchreader()

//matchstring——判斷在給定字串中能否找到匹配的串

//引數描述:第乙個引數為給定的正規表示式,第二個為給定的要匹配的文字串

//返回值描述:第乙個返回值表示是否匹配,匹配到了返回true,否則返回false,第二個返回值表示error

func testmatchstring()

//match——判斷在給定byte中能否找到正規表示式所匹配的子串

//引數說明:第乙個引數為給定的正規表示式,第二個引數為給定的要查詢的文字

//返回值說明:第乙個表示正則表達試是否有匹配,第二個引數為error

func testmatch()

//replaceallstring——將檢索到的匹配項替換為給定的,並返回替換後的結果

func testreplaceallstring() ooo"

fmt.printf("%q\n", ret.replaceallstring(str, rep))

}//replaceallliteralstring——在給定文字中搜尋,並將給定文字替換為第二個引數給定的內容

//引數描述:第乙個引數表示給定的文字,第二個引數表示給的需要替換的內容(如果其中含有分組引用符,將分組引用符當做普通字元處理)

//返回值描述:返回替換後的文字,

func testreplaceallliteralstring() aaa"

fmt.printf("%q\n", reg.replaceallliteralstring(src, rep))

}//quotemeta——將字串中的特殊字元轉換為其轉義格式(特殊字元包括——\.+*?()|{}^$)

func testquotemeta() .*fsd$"))

}//find——在給定文字中查詢正規表示式中匹配的內容,並返回第乙個匹配的物件

func testfind()

//fndindex——在給定文字中查詢匹配正規表示式的內容,並返回匹配內容的起始位置和結束位置[起始位置 結束位置]

func testfindindex()

//findstringindex——在給定文字中查詢滿足正規表示式的串並返回第乙個匹配串的起始和結束位置

//findsubmatch——在文字中查詢正規表示式被匹配的第乙個內容,同時返回子表示式匹配的內容}

func testfindsubmatch()

//expand——將template的內容處理之後追加到dst尾部,template中要有$1、$2、$、$這樣的分組引用符

//match是由findsubmatchindex方法返回的結果,裡面存放了各個位置的資訊,如果template中有match資訊,則以match為標準

//在src中取出相應的子串,替換掉template中的$1、$2等引用符號

func testexpand()

//expandstring——功能和expand一樣,只不過引數型別換成了string

//split——在給定文字項中搜尋匹配項,並以匹配項為分割符,將s分割成多個子串,最多分割成多個子串,第n個子串不在進行分割

//如果n<0,則分割所有的子串,返回分割後的子串列表

func testsplit()

func main()

Go語言標準庫之regexp

regexp是go支援正規表示式的相關內建模組。一 引入 import regexp 二 使用 2.1 regexp.matchstring 使用正規表示式匹配字串 match,regexp.matchstring h hello world fmt.println match true 2.2 r...

2 17 Go之正規表示式 regexp包

根據需求構造出想要得到的字元組合 組成 由普通字元 例如字元a到z 以及特殊字元 稱為 元字元 構成的文字序列,可以是單個的字元 字元集合 字元範圍 字元間的選擇或者所有這些元件的任意組合。字元語法 說明表示式示例 匹配結果 一般字元 匹配自身 abcabc 匹配任意除換行符 n 外的字元,在 do...

Go 學習筆記 標準庫之 time 包

go 有很多內建的標準庫,裡面封裝了很多開發中會用到的一些函式,使用這些函式可以簡化 提高開發效率。time 包就是其中之一,它裡面封裝了處理日期時間需要用到的一些功能。今天因為要做乙個功能,稍微了解了一下 time 包,官方文件,暫時先將這個功能裡面需要用到的一些方法記錄下來,以後碰到其他的知識再...