1. ホーム
  2. regex

[解決済み] Regex: 大文字と小文字の区別を無視する

2022-03-24 02:37:29

質問

以下の正規表現で大文字・小文字を無視させるにはどうしたらよいでしょうか?正しい文字にはすべてマッチしますが、小文字か大文字かは無視されるはずです。

G[a-b].*

解決方法は?

が必要だと仮定すると 全体 の正規表現が大文字小文字を無視するようにするには、次のようにします。 i フラグ . ほぼすべての正規表現エンジンがサポートしています。

/G[a-b].*/i

string.match("G[a-b].*", "i")

マッチング・モードの指定方法については、お使いの言語/プラットフォーム/ツールのドキュメントをご確認ください。

もし 部分 の大文字と小文字を区別しないようにするには、2つのオプションがあります。

  1. を使用します。 (?i) および[オプション]で (?-i) モード修飾子です。

    (?i)G[a-b](?-i).*
    
    
  2. すべてのバリエーション(つまり小文字と大文字)を正規表現に入れる - mode modifiers がサポートされていない場合に有用。

    [gG][a-bA-B].*
    
    

最後に、ASCII以外のUnicode文字を扱う場合は、お使いの正規表現エンジンがそれらを適切にサポートしているかどうかを確認してください。