import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(?<=\\n)(?<match>.+?(?<phone>\\d[\\d\\s]{7,}).+Reference.+id[\\w\\W]+#(?<ref>\\w+\\b))";
final String string = "logo\n"
+ "[https://app.discountdata.ng/assets/images/full-logo.png]https://app.discountdata.ng\n\n"
+ "Discount Data - Nigeria's topmost enterprise solution to your telecom needs.\n\n\n"
+ "NOTIFICATION ALERT\n\n"
+ "Hi staffdd,\n\n"
+ "Glo CORPORATE GIFTING 1GB - 30 Days to 08110768733 Reference ID Is :\n"
+ "#202406131022Y5WSUG49ERTYGT666aba5d7dbd3\n\n"
+ "If you wish to option out from this kind of mail, please contact us or ignore\n"
+ "this message.\n\n"
+ "If you face any issues, please contact us at help@discountdata.ng\n\n"
+ "(c) 2024 Discount Data. All rights reserved.\n\n"
+ "This email was sent to you as a registered member of Discount Data\n"
+ "[https://app.discountdata.ng]. Thank You.";
final Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
final Matcher matcher = pattern.matcher(string);
if (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