How do I match a regex pattern in case insensitive?

Finding the next subsequence of the input sequence that matches the pattern while ignoring the case of the string in regular expression can simply applied by create a pattern using compile(String regex, int flags) method and specifies a second argument with PATTERN.CASE_INSENSITIVE constant.

package org.kodejava.example.util.regex;

import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class IgnoreCaseDemo {
    public static void main(String[] args) {
        String sentence =
                "The quick brown fox and BROWN tiger jumps " +
                "over the lazy dog";

        Pattern pattern = Pattern.compile("brown", 
        Matcher matcher = pattern.matcher(sentence);

        while (matcher.find()) {
            System.out.format("Text "%s" found at %d to %d.%n",
      , matcher.start(), matcher.end());

Here is the result of the program:

Text "brown" found at 10 to 15.
Text "BROWN" found at 24 to 29.


Programmer, runner, recreational diver, live in the island of Bali, Indonesia. Mostly programming in Java, Spring Framework, Hibernate / JPA. Support me, buy me ā˜• or šŸµ

Leave a Reply