import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "^ +([\\w+ ]+)|(\\$\\d+\\.\\d+)";
final String string = "SUBCONTRACTOR NAME Invoice\n\n"
+ "PO Box 000 Date Invoice #\n"
+ "CITY, STATE 11111 7/15/2020 34825\n"
+ "email@addre.ess.com\n\n"
+ " Bill To\n"
+ " Company Name\n"
+ " Jill Sample Name\n"
+ " 2 A Road Name Ct\n"
+ " A Town, SS 11111\n\n"
+ " P.O. No. Terms Project\n\n"
+ " Due on receipt\n\n"
+ "Item Description Est Amt Prior Amt Prior % Qty Rate Curr % Total % Amount\n"
+ " 42.00 1 42.00T\n"
+ "15 C Su... Summer Application 42.00 100.00% 100.00%\n"
+ " * Fertilizer\n"
+ " * Broadleaf weed control\n\n"
+ " Total before discounts and sales 126.00 33.33% 33.33% 42.00\n"
+ " tax\n\n"
+ " Subtotal $42.00\n"
+ " Sales Tax (0.0%) $0.00\n"
+ " Total\n"
+ " Payments/Credits $42.00\n"
+ " $0.00\n"
+ " Balance Due\n"
+ " $42.00\n"
+ "";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
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