import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "((?:[1234]\\s?)?[a-zа-я]+)(\\s?\\d+(?::(?:\\d+[—–-]\\d+|\\d+)(?:,\\d+[—–-]\\d+|,\\d+)*(?:;\\s?\\d+(?::(?:\\d+[—–-]\\d+|\\d+)(?:,\\d+[—–-]\\d+|,\\d+)*|;))*)?)";
final String string = "За тази седмица прочетете\n"
+ "Римляни 5:12-21,13 1 Коринтяни 31:12-17; 1 Коринтяни 12:14-26; Ефесяни 6:11-17; 1 Коринтяни 15:12-18;1;\n"
+ "Адам и Исус\n"
+ "изход 1:1-2,3,4-0;1:1,2-3;3;\n"
+ "Неделя - 28 февруари\n"
+ "Въпреки че апостол Павел е известен със своето ясно изложение на евангелието, неговото обяснение на великата борба също е изключително ценно. В центъра на поученията му за благата вест са концентрирани следните основни идеи: ние сме „оправдани чрез вяра“ в Исус (Римляни 5:1), имаме пряк достъп до Бога и се „радваме поради надеждата“ (стих 2); а изпитанията вече не ни притесняват (стихове 3-5). Освен това ни дава обещанието, че „когато още бяхме грешници, Христос умря за нас“ (стих 8) и сега сме „спасени“ чрез живота и смъртта на Христос за нас. Освен това сме пощадени от Божия последен съд над греха (стихове 9, 10), а се радваме, че сме примирени с Него (стих 11).\n\n"
+ "Прочетете Римляни 5:12-21. Как тук ни е разкрита великата борба?\n"
+ "Матей 1:1; 2:3-6,17; 1chro 2:2 + rev 1:1; 2:3-6,17; +exod";
final Pattern pattern = Pattern.compile(regex, 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