Matcher a = Pattern.compile("\\S+\\s+\\d+\\/\\d+\\s+\\d+\\/\\d+\\s+(\\S+ \\S+)[^)]+\\)[^N]+NAME: ([^)]+)\\)\\S+[^(]+\\(\\s*DEPART: ([^)]+)").matcher(strBuf); while (a.find()) { System.out.println(a.group() + "\n"); pane.setText(pane.getText() + a.group() + "\n"); }