[golang] Go言語の正規表現検索で大文字小文字を無視して検索( iスイッチ)

カテゴリ: golang

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
こちらもおススメ

コメントを残す

メールアドレスが公開されることはありません。