import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "^weight.+average.+(\\n.+){0,2}(share|basic|ordinary).+(?P<d1>\\s[\\d,]+)\\s+(?P<d2>\\s[\\d,]+)";
final String string = "VITROX CORPORATION BERHAD \n"
+ "(Incorporated in Malaysia) \n"
+ "Company No: 200401011463 (649966-K) \n"
+ "QUARTERLY REPORT ON RESULTS FOR THE SECOND QUARTER ENDED 30 JUNE 2020 \n"
+ "B. DISCLOSURE REQUIREMENTS AS SET OUT IN APPENDIX 9B OF BURSA SECURITIES \n"
+ "MAIN MARKET LISTING REQUIREMENTS (cont’d) \n"
+ "B10 Earnings per share \n"
+ "INDIVIDUAL QUARTER CUMULATIVE QUARTER\n"
+ "Corresponding\n"
+ "Corresponding Current preceding\n"
+ "Current quarter preceding period-to-date period-to-date\n"
+ "ended quarter ended ended ended\n"
+ "30-Jun-20 30-Jun-19 30-Jun-20 30-Jun-19\n"
+ "Profit attributable to owners of \n"
+ "the Company (RM'000) 22,922 24,387 43,987 48,003\n"
+ "Weighted average number of\n"
+ "shares for computing basis\n"
+ "earnings per share ('000) 471,092 470,718 471,092 470,718\n"
+ "Basic earnings per share (sen) 4.87 5.18 9.34 10.20\n"
+ "Weighted average number of\n"
+ "shares for computing diluted \n"
+ "earnings per share ('000) 472,121 4 71,896 472,121 471,896\n"
+ "Diluted earnings per share (sen) 4.86 5.17 9.32 10.17\n"
+ "B11 Auditors’ report on preceding annual financial statements \n"
+ "The auditors’ report on the financial statements for the year ended 31 December 2019 was not subject to \n"
+ "any qualification. \n"
+ "13 ";
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