正規表現: 大文字と小文字の区別を無視する 質問する

正規表現: 大文字と小文字の区別を無視する 質問する

次の正規表現で大文字と小文字の区別を無視するにはどうすればよいでしょうか。正しい文字すべてに一致する必要がありますが、小文字か大文字かは無視されます。

G[a-b].*

ベストアンサー1

正規表現全体で大文字と小文字を区別しない場合は、iフラグほぼすべての正規表現エンジンがこれをサポートしています。

/G[a-b].*/i

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

一致するモードがどのように指定されているかについては、言語/プラットフォーム/ツールのドキュメントを確認してください。

正規表現の一部のみ大文字と小文字を区別しない場合は(私の最初の回答で想定されていたように)、次の 2 つのオプションがあります。

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

    (?i)G[a-b](?-i).*
    
  2. 正規表現にすべてのバリエーション(小文字と大文字)を入力します。モード修飾子がサポートされていない場合に便利です。

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

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

おすすめ記事