import java.util.regex.*;
import java.io.*;
class Patmatch{
static String str = "";
public static void main(String[] args){
BufferedReader br =
new BufferedReader(new InputStreamReader(System.in));
System.out.println("Enter name to see match");
try{
str = br.readLine();
} catch(IOException e){
System.out.println("Exception has been occurred" + e);
}
try{
Patternmatch();
} catch(NomatchException me){
System.out.println("Exception" + me);
}
}
private static void Patternmatch() throws NomatchException{
Pattern p = Pattern.compile("ab");
Matcher m = p.matcher(str);
while(m.find())
System.out.print(m.start() + " ");
throw new NomatchException("no match");
}
}
class NomatchException extends Exception{
NomatchException(String s){
super(s);
}
}
В приведенном выше коде, когда я ввожу ab, он показывает точное положение как 0. Но также показывает исключение.Мне нужен вывод, как если бы я ввел ab, он должен показать ab.если я ввожу что-то еще, например, def, оно должно показывать исключение.Можете ли вы помочь мне?