import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "\\b(?:loan)\\s*(?:balance|amounts?|reimbursements?|installments?)?\\s*(?:of|is|\\s|\\:|\\-)\\s*(?:(?:[\\$]\\s*[\\.,\\d]+\\s*(?:millions?|billions?|thousands?|[KMB])?)|(?:[\\.\\,\\d]+\\s*(?:millions?|billions?|thousands?|[KMB])?\\s*(?:dollars?|\\$)?)|(?:[\\.\\,\\d]+\\s*(?:\\$)))|(?: [\\$]\\s*[\\.,\\d]+\\s*(?:millions?|billions?|thousands?|[KMB])?)|(?:[\\.\\,\\d]+\\s*(?:millions?|billions?|thousands?|[KMB])?\\s*(?:dollars?|\\$ ))|(?:[\\.\\,\\d]+\\s*(?:\\$ ))";
final String string = "loan balance is $45,56.89\n"
+ "loan balance of $ 1M\n"
+ "Loan Amount of 43000K\n"
+ "loan reimbursement is 54.4 dollars\n"
+ "loan reimbursement is 34,10.45 million\n"
+ "loan balance of 25000$ \n"
+ "loan amount $100,200.30\n"
+ "Loan Amount: 100K\n"
+ "Loan Amount $ 1.5 million \n"
+ "loan is $54K\n"
+ "loan balance - 50K$ \n"
+ "----------------------------------------------------------------\n"
+ "2.9 millions\n"
+ " $25000.50\n"
+ "1,99$ \n"
+ " $25000\n"
+ "1.10 dollar $25000\n"
+ "1,99 dollars $23K \n"
+ " $ 25,00\n"
+ "1.10 dollar $25,000.50\n"
+ "1,99 dollars $25000.50\n"
+ "10 dollar\n"
+ " $ 25,000\n"
+ "1.99$ \n"
+ "1,99$ \n"
+ " $25000\n"
+ "1.10 dollar $25000.50\n"
+ "1,99 dollars\n"
+ "10 dollar\n"
+ " $ 25,000\n"
+ "25,000.50$ \n"
+ "1.99$ \n"
+ " $25,000.50\n"
+ "1.10 dollar $25000.50\n"
+ "1,99 dollars $23K \n"
+ "10 dollar $25000\n"
+ "1.99$ \n"
+ " $ 25,000\n"
+ "djkb_09$kjh87\n"
+ "gh67_($67.67P)\n\n\n\n";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE | Pattern.CASE_INSENSITIVE);
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