PHPやPerlなどの言語では正規表現検索次に、大文字小文字を無視するiスイッチというものがあり/expression/i
のような形で、指定することができます。
Goで同じことを行う場合、正規表現の先頭に(?i)
と記載します。
プログラム
package main
import (
"fmt"
"regexp"
)
func main() {
var re *regexp.Regexp
var result bool
// 「(?i)」の指定で、大文字小文字を無視して検索
re = regexp.MustCompile(`(?i)hello`)
// 小文字はもちろんヒットする
result = re.MatchString("hello world")
fmt.Printf("result1 = %v\n", result)
// 先頭のHが大文字でもヒットする
result = re.MatchString("Hello World")
fmt.Printf("result2 = %v\n", result)
}
実行結果
$ go run main.go
result1 = true
result2 = true
こちらもおススメ