Go言語で正規表現を扱う
開発環境は、Windows 10 Pro(64bit) + go version go1.15.3 windows/amd64。
使っている正規表現のパターンはここに書いてます。Google製の正規表現エンジンであるRE2を使用しています。
マッチするかどうかをtrue/falseで返す
package main import ( "fmt" "regexp" ) func main(){ r := regexp.MustCompile(`^[a-z]+-[a-z]+$`) // true fmt.Println(r.MatchString("hello-world")) // false fmt.Println(r.MatchString("helloworld")) }
グループ化して抽出させる
package main import ( "fmt" "regexp" ) func main(){ str := "hello-world" r := regexp.MustCompile(`^([a-z]+)-([a-z]+)$`) str = r.ReplaceAllString(str, "($1),($2)") fmt.Println(str) // (hello),(world) }
■参考リンク
高速かつ省メモリなGoogleの正規表現ライブラリ re2 についてのメモ
逆引きGolang (正規表現)