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

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

Linda Hamilton
リリース: 2024-12-12 10:30:08
オリジナル
647 人が閲覧しました

How to Perform Case-Insensitive Regular Expressions in Go?

Go で大文字と小文字を区別しない正規表現を実行する

ユーザー入力から正規表現を動的に構築する場合、大文字と小文字を区別しないことが一般的な要件です。この必要性が生じるのは、入力文字列に大文字と小文字の両方が含まれている可能性があるが、一致ではそれらが同等であるとみなされる必要がある場合です。

簡単な方法は、次の例に示すように、正規表現で両方のケースを手動で処理することです。

reg, err := regexp.Compile(`[a-zA-Z]`)
ログイン後にコピー

ただし、正規表現が文字列から構築されている場合は、より洗練されたソリューションを利用できます。

大文字と小文字を区別しない正規表現を作成するには、次のようにします。式の先頭に (?i) を追加します:

reg, err := regexp.Compile("(?i)" + strings.Replace(s.Name, " ", "[ \._-]", -1))
ログイン後にコピー

このフラグにより​​、正規表現エンジンは大文字と小文字の区別を無視し、一致で大文字と小文字が区別されなくなります。

の詳細については、正規表現フラグについては、正規表現/構文パッケージのドキュメントの「フラグ」という用語を参照してください。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート