Прописал класс в которой с файла читаются строки и в зависимости от того подходит строка под регулярку, добавляет в ArrayList, но он постоянно оказывается пустой, перепроверял без регулярки, строки с файла читаются нормально, проверил саму регулярку на другом сайте, срабатывает, подскажите в чем проблема?
StrProcess
import java.io.File;
import java.util.regex.Pattern;
import java.util.Scanner;
import java.util.ArrayList;
import java.io.FileNotFoundException;
public class StrProcess
{
ArrayList<String> Str = new ArrayList<String>();
StrProcess(String filename, String regex)
{
try
{
File query = new File(filename);
Scanner reader = new Scanner(query);
while(reader.hasNextLine())
{
if(Pattern.matches(regex, reader.nextLine()));
Str.add(reader.nextLine())
}
}
catch(FileNotFoundException e)
{
System.out.println("File Not Found");
}
}
private void Sort()
{
}
public ArrayList<String> GetAll()
{
return(Str);
}
}
Main
import java.util.ArrayList;
public class Main
{
public static void main(String[] args)
{
String query1 = "query1.txt";
String query2 = "query2.txt";
String query4 = "query4.txt";
String regex1 = "^..69*"; // строка начинается с кода который заканчивается на 69
String regex2 = "SPORT"; // строка в которой содержится SPORT
String regex4 = ".*1[0-9]{3}$"; //строка которая заканчивается на число от 1000 до 1999
StrProcess condition1 = new StrProcess(query1, regex1);
StrProcess condition2 = new StrProcess(query2, regex2);
StrProcess condition3 = new StrProcess(query4, regex4);
ArrayList<String> result1 = condition1.GetAll();
ArrayList<String> result2 = condition2.GetAll();
ArrayList<String> result3 = condition3.GetAll();
System.out.println("Result 1(" + regex1 + "):");
System.out.println(result1);
System.out.println("Result 2(" + regex2 + "):");
System.out.println(result2);
System.out.println("Result 3(" + regex4 + "):");
System.out.println(result3);
}
}