import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = ".*\\/(.+)(\\.html|\\/)$";
final String string = "\n"
+ "можно убрать экранирование слеша поскольку оно не требуется для апача ( текущий интерпретатор php, мод_реврайт синтаксиса тут нет ;(\n"
+ "Как мы видимм все что нам нужно попадает в первую группу и мы можем привести все окончания ссылок к единому образцу\n\n"
+ "ававафвыю.ru/fdfadsfad.html\n"
+ "афывавфыавыфавф.ru/3effdfadsdfa/dsfadfa/dsfasdf/asdfasd/fasdfasdfa/fadfadsff.html/\n"
+ "афывавфыавыфавф.ru/3effdfadsdfa/dsfadfa/dsfasdf/asdfasd/fasdfasdfa/fadfadsff.html\n"
+ "афывавфыавыфавф.ru/3effdfadsdfa/dsfadfa/dsfasdf/asdfasd/fasdfasdfa/fadfadsff/\n\n"
+ "При таких расклада регулярка не работает нет в ТЗ\n\n"
+ "фывавфыавыфавф.ru/3effdfadsdfa/dsfadfa/dsfasdf/asdfasd/fasdfasdfa/fadfadsff \n"
+ "Поскльку конец нас устраивает\n\n"
+ "При таких расклада регулярка не работает но тебыло в тз\n\n"
+ "фывавфыавыфавф.ru/3effdfadsdfa/dsfadfa/dsfasdf/asdfasd/fasdfasdfa/fadfadsff.html/\n"
+ "фывавфыавыфавф.ru/3effdfadsdfa/dsfadfa/dsfasdf/asdfasd/fasdfasdfa/fadfadsff.htm\n"
+ "Поскольку таких не бывает.\n\n\n"
+ "Как мы видим в группу $1 попадает нужная часть урла \n"
+ "$2 тупо нам не нужна мы ее удаляем.\n\n"
+ "Теперь по твоим регуляркам, у тебя ошибка ты почему то используешь (.*) - любое включая пусто\n"
+ "А нужно (.+) посколкьу это полразумевает 1 символ как минимум.\n\n\n"
+ " регулярка без экрана слешей .*/(.+)(\\.html|/)$\n"
+ "ну и по идее в апаче сработает такая\n"
+ "регулярка без экрана слешей .*/(.+)(\\.html|/|)$\n"
+ "ей можно выбрать и еще /fadfadsff окончание, то есть одним правилом схватить сразу все варианты, но нужно проверить.";
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