Compiling a Pattern with Multiple Flags

In this section you will learn how to compile a pattern
with multiple flags like multiline, case insensitivity of the characters in the
string etc. This section provides you an example for the implementation of the
concept about how is it done? Following program has been used some APIs for
compiling pattern with multiple flags i.e. explained ahead.
Program Result:
This program has mentioned string "Abc\ndef"
as a input string and compiles the string "\n" which lies in the
input string and replaced by the string "\t" after checking whether
the pattern string either found or not in the input string. Here in the given
program, the pattern string ("\n") is splitted from the input string.
Code Description:
Pattern.compile(patternStr, Pattern.MULTILINE |
Pattern.CASE_INSENSITIVE):
Above method compiles the string assigned with the String type
variable patternStr with multiple flags which are given follows:
- patternStr: This is the string which has to
be compiled.
- Pattern.MULTILINE: This is the field of the Pattern
class which denotes for the multiline characters in the given string. This
field determines the compilation of the string with the multiline character
which breaks the string after a specific part.
- Pattern.CASE_INSENSITIVE: This is also a
field of the Pattern class which denotes for the case sensitivity of
the character in the given word. By default pattern compiles the string in
case sensitive mode. If you pass the CASE_INSENSITIVE field through the
compile() method as parameter, it ignores the case of characters in the
string.
Here is the code of the program:
import java.util.regex.*;
import java.io.*;
public class MultipleFlag{
public static void main(String[] args){
String inputStr = "Abc\ndef";
//Simply print the original string.
System.out.println(inputStr);
String patternStr = "\n";
// Compile with multiline and case-insensitive enabled.
Pattern pattern = Pattern.compile(patternStr, Pattern.MULTILINE |
Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(inputStr);
//Finding new line and replacing with a tab.
boolean matchFound = matcher.find();
String str = matcher.replaceAll("\t");
System.out.println(matchFound);
System.out.println(str);
//Split from where the new line character lies in the string.
String[] strg = "Abc\ndef".split("\n");
for (int i =0; i<strg.length; i++){
System.out.print(strg[i] + " ");
}
}
}
|
Download this example.

|