Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Regex: ignore case sensitivity

Tags:

regex

How can I make the following regex ignore case sensitivity? It should match all the correct characters but ignore whether they are lower or uppercase.

G[a-b].* 
like image 475
brother Avatar asked Mar 11 '12 13:03

brother


People also ask

Are regex matches case sensitive?

In Java, by default, the regular expression (regex) matching is case sensitive.


1 Answers

Assuming you want the whole regex to ignore case, you should look for the i flag. Nearly all regex engines support it:

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

Check the documentation for your language/platform/tool to find how the matching modes are specified.

If you want only part of the regex to be case insensitive (as my original answer presumed), then you have two options:

  1. Use the (?i) and [optionally] (?-i) mode modifiers:

    (?i)G[a-b](?-i).* 
  2. Put all the variations (i.e. lowercase and uppercase) in the regex - useful if mode modifiers are not supported:

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

One last note: if you're dealing with Unicode characters besides ASCII, check whether or not your regex engine properly supports them.

like image 134
2 revs Avatar answered Oct 18 '22 09:10

2 revs