ユーザー入力から正規表現を動的に構築する場合、大文字と小文字を区別しないことが一般的な要件です。この必要性が生じるのは、入力文字列に大文字と小文字の両方が含まれている可能性があるが、一致ではそれらが同等であるとみなされる必要がある場合です。
簡単な方法は、次の例に示すように、正規表現で両方のケースを手動で処理することです。
reg, err := regexp.Compile(`[a-zA-Z]`)
ただし、正規表現が文字列から構築されている場合は、より洗練されたソリューションを利用できます。
大文字と小文字を区別しない正規表現を作成するには、次のようにします。式の先頭に (?i) を追加します:
reg, err := regexp.Compile("(?i)" + strings.Replace(s.Name, " ", "[ \._-]", -1))
このフラグにより、正規表現エンジンは大文字と小文字の区別を無視し、一致で大文字と小文字が区別されなくなります。
の詳細については、正規表現フラグについては、正規表現/構文パッケージのドキュメントの「フラグ」という用語を参照してください。
以上がGo で大文字と小文字を区別しない正規表現を実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。