Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
Selected Reading
A Reluctant qualifier in Java Regular Expressions
The reluctant qualifier starts with the shortest string size as possible. If a match is found by the engine, the process continues to find more matches otherwise the engine adds a character to the searched string section and tries again. This continues until a match is obtained or the string is used up.
The regex "B+?" is used to find the match in the string "SkyIsBlue".
A program that demonstrates this is given as follows:
Example
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Demo {
public static void main(String args[]) {
String regex = "B+?";
String str = "SkyIsBlue";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(str);
while (m.find()) {
System.out.println("Match String starts at index: " + m.start());
}
}
}
Output
Match String starts at index: 5
Now let us understand the above program.
The regex is “B+?”. This is searched in the string sequence "SkyIsBlue". The find() method is used to find if the regex is in the input sequence and its index is printed. A code snippet which demonstrates this is as follows:
String regex = "B+?";
String str = "SkyIsBlue";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(str);
while(m.find()) {
System.out.println("Match String starts at index: " + m.start());
} Advertisements
