import java.io.Console;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;
public class Main {
public static void main(String[] args) {
Pattern pattern = null;
Matcher matcher = null;
Console console = System.console();
while (true) {
try {
pattern = Pattern.compile(console.readLine("%nEnter your regex: "));
matcher = pattern.matcher(console
.readLine("Enter input string to search: "));
} catch (PatternSyntaxException pse) {
console.format("There is a problem with the regular expression!%n");
console.format("The pattern in question is: %s%n", pse.getPattern());
console.format("The description is: %s%n", pse.getDescription());
console.format("The message is: %s%n", pse.getMessage());
console.format("The index is: %s%n", pse.getIndex());
System.exit(0);
}
boolean found = false;
while (matcher.find()) {
console.format("I found the text \"%s\" starting at "
+ "index %d and ending at index %d.%n", matcher.group(), matcher
.start(), matcher.end());
found = true;
}
if (!found) {
console.format("No match found.%n");
}
}
}
}
|