import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "\\s{2,3}(\\d+)\\|\\s{8,9}(\\w+)\\|\\s{3}(ON\\s|OFF)\\|(\\s+|\\s+\\w+)\\|\\s{5}(ON\\s|OFF)\\n|\\s{3}(\\d)\\s\\|\\s+(\\w+)\\s+\\|\\s+(ON\\s|OFF)\\|(\\s{2}\\n|.\\w+)|AC current draw\\s(\\d)\\:\\s(\\d\\.\\d{2})|Max detected\\s(\\d\\.\\d{2})";
final String string = "pshow\n\n\n\n"
+ "Port | Name |Status| Reservation\n\n"
+ " 1 | Fan | ON | \n\n"
+ " 2 | Clim | OFF| mofa\n\n\n"
+ ">\n\n"
+ "����������\"\n"
+ "Synaccess Inc. Telnet Session V6.2.\n\n\n"
+ "pshow\n\n"
+ ">\n\n\n"
+ "Port| Name |status| Reservation |RB Timer\n\n"
+ "----+----------------+------+----------------+--------\n\n"
+ " 1| Outlet1| OFF| | ON \n\n"
+ " 2| Outlet2| ON | mofa| OFF\n\n"
+ " 3| Outlet3| ON | | OFF\n\n"
+ " 4| Outlet4| OFF| | OFF\n\n"
+ " 5| Outlet5| ON | | OFF\n\n"
+ " 6| Outlet6| ON | | OFF\n\n"
+ " 7| Outlet7| OFF| | OFF\n\n"
+ " 8| Outlet8| ON | | OFF\n\n"
+ " 9| Outlet9| ON | | OFF\n\n"
+ " 10| Outlet10| OFF| | OFF\n\n\n"
+ "AC current draw 1: 0.05. Max detected 0.78 Amps.\n\n\n"
+ "Temperature Probe is not installed\n"
+ ">";
final Pattern pattern = Pattern.compile(regex);
final Matcher matcher = pattern.matcher(string);
while (matcher.find()) {
System.out.println("Full match: " + matcher.group(0));
for (int i = 1; i <= matcher.groupCount(); i++) {
System.out.println("Group " + i + ": " + matcher.group(i));
}
}
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html