Pattern pattern = Pattern.compile("t+(e)+");
Валидатор принимает такой шаблон. Но по заданию нужно заменить все подстроки "te" на "??". Данный шаблон заменит и "tte" на "??".Антон
41 уровень
Админам
Решен
Комментарии (6)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Roman Pryshchepa Java Developer Expert
12 августа 2019, 13:29
Спасибо за замечание, но ... :)
Валидатор принимает такой шаблон. Но по заданию нужно заменить все подстроки "te" на "??".
Твой шаблон это делает? Да. Вот поэтому валидатор и принимает его.
Данный шаблон заменит и "tte" на "??".
Ну и что? В условии же не просят не заменять "tte" на "??" :)
В чем же кривость валидатора? :)
0
Антон Full Stack Developer
12 августа 2019, 16:05
Тогда нужно переформулировать условие. Ибо задание "заменить подстроки <te> на <??>" означает, что нужно заменить только te на ??, а не tte и т.д.. А если бы поиск так работал? Просишь найти te, а он ищет и tte. Разве я не прав?
0
IceBergMaster
12 августа 2019, 16:28
Согласен с Антоном, если подстрока "tte" заменяется на "??", это не равносильно утверждению, что "te" заменилось на "??", это только часть подстроки.
То что мы можем заменять "tte" на "??" это понятно, валидатор не запрещает, но вот только это нарушит условие:
- заменить все подстроки "te" на "??"
Ведь в этом случае подстрока должна была замениться на "t??", но уже произошла замена другой(tte) подстроки на просто "??".
0
Roman Pryshchepa Java Developer Expert
13 августа 2019, 07:08
Антон, поправим тесты, чтобы не проходил вариант с tte
0
Мишаня
2 августа 2019, 11:15
Pattern pattern = Pattern.compile("t+?e");
0
Антон Full Stack Developer
2 августа 2019, 12:21
Я имел в виду, что валидатор кривой и принимает неправильный ответ. Решение то я знаю.
0