Я пытаюсь «обернуть» поиск, в основном игнорируя \n при использовании ether indexOf или шаблона регулярного выражения. Я не могу просто удалить все символы новой строки, так как тогда найденные индексы будут неправильными.
Например:
Matcher matcher = Pattern.compile("dog").matcher("cat\n do\ng cow");
matcher.find();
int start = matcher.start();
int end = matcher.end();
System.out.println("Start: "+start+" End: "+end);
Должен выводиться:
Start: 5 End: 9
Если я уберу новые строки,
Matcher matcher = Pattern.compile("dog").matcher("cat\n do\ng cow".replaceAll("\n",""));
Тогда индексы будут перепутаны:
Start: 4 End: 7
Примечание. Я также собираюсь использовать более сложное регулярное выражение, чем в примере.
Я реализую функцию поиска в текстовом редакторе и пытаюсь создать опцию «обтекания». Любые идеи?