0

How do I ignore case for my match? I am trying to match:

public static void main(String[] args) {
    Pattern pattern = Pattern.compile("(?i)^concat\\(",Pattern.MULTILINE);
    Matcher matcher = pattern.matcher("CONCAT(trade,ca)");
    System.out.println(matcher.find());
}

Possible scenarios

CONCAT( = true
concat( = true
CONCAT(test = true
concat(test = true
concat = false
CONCAT = false
TESTCONCAT( = false
Mark Rotteveel
  • 100,966
  • 191
  • 140
  • 197
Jigar Naik
  • 1,946
  • 5
  • 29
  • 60

1 Answers1

2

Pattern has the flag CASE_INSENSITIVE so all you need is

 Pattern pattern = Pattern.compile("^concat\\(",Pattern.MULTILINE+Pattern.CASE_INSENSITIVE);
Sascha
  • 1,320
  • 10
  • 16
  • The literal flag OP uses is fine too. But I agree flags in the factory method might make the pattern itself a little more readable. – Mena Apr 17 '19 at 13:16