ホームページ >バックエンド開発 >Golang >Go で大文字と小文字を区別しない正規表現検索を実行するにはどうすればよいですか?

Go で大文字と小文字を区別しない正規表現検索を実行するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-08 03:33:12253ブラウズ

How Can I Perform a Case-Insensitive Regular Expression Search in Go?

Go での大文字と小文字を区別しない正規表現

Go で大文字と小文字を区別しない正規表現検索を実行するには、構文を少し変更する必要があります。これを実現する方法は次のとおりです。

大文字と小文字を区別しない正規表現

大文字と小文字を区別しない検索を実行するには、正規表現の最初の項目が大文字と小文字を区別しない正規表現である必要があります。フラグ。「(?i)」として示されます。このフラグにより​​、文字の大文字と小文字に関係なく正規表現が一致することが保証されます。

大文字と小文字を区別しない検索の実装

指定されたコードでは、regexp.Compile と strings.Replace を使用しています。ユーザーが指定した文字列 s.Name から正規表現を構築します。検索で大文字と小文字を区別しないようにするには、正規表現の前に「(?i)」を追加します。

reg, err := regexp.Compile("(?i)" + strings.Replace(s.Name, " ", "[ \._-]", -1))

固定正規表現の場合は、コードを次のように記述できます。

r := regexp.MustCompile(`(?i)CaSe`)

追加情報

正規表現のフラグの詳細については、regexp/syntax パッケージを参照してください。ドキュメントまたは一般的な構文ドキュメント。

以上がGo で大文字と小文字を区別しない正規表現検索を実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。