Witam!
Mam taki program gdzie porownuje dwa regexy, i taki motyw, ze musze wczytywac dwa razy dane, zeby sprawdzic czy zdanie o danym wzorze istnieje. Gupio to zrobilem ale nie chce dzialac z if.
ArrayList<String> listEll = new ArrayList<String>();
try{
Scanner in = new Scanner(new FileReader("data.dat"));
String reg = "^[A-Z]+[0-9]{1}( \\d{1,3}){4}( \\d{1,3}.\\d{6}( \\d{1,3}){4})$";
while(in.hasNext()){
Pattern wzor = Pattern.compile(reg);
Matcher zdanie = wzor.matcher(in.nextLine());
if(zdanie.find()){
listEll.add(zdanie.group());
}
}
in.close();
}
catch(IOException exception){
}
ArrayList<String> list = new ArrayList<String>();
{
try{
Scanner in = new Scanner(new FileReader("data.dat"));
String reg = "^[A-Z]+[0-9]{1}( [0-9]{1,3}){8}$";
while(in.hasNext()){
Pattern wzor = Pattern.compile(reg);
Matcher zdanie = wzor.matcher(in.nextLine());
while(zdanie.find()){
list.add(zdanie.group());
}}
in.close();
}
catch(IOException exception){
}
Masakra juz sam nie wiem gdzie to wrzucic. Jak to zrobic zeby tylko raz wyczytac linie z poliku i sprawdzic czy to moze regex1 czy regex 2.
Dzieki