Форум » Обработка символьных строк » 24 задание 156(другой ответ) » Ответить

24 задание 156(другой ответ)

kirill14: ### var s:=ReadAllText('24-153.txt'); FOR VAR I:=7 TO 9 DO s.MatchValues('A'+StringOfChar('.',i)+'F').count.PRINT;

Ответов - 6

kirill14: Надеюсь найдутся люди разбирающиеся в регулярках

cabanov.alexey: Регулярные выражения не учитывают пересечения строк. ABCADFCDF - регулярка найдёт только одну строку

kirill14: Для учета пересечений я сделал цикл. А в строке ABCADFCDF она найдет только одну подстроку AF, потому что там только одна строка длиной отт 7 до 10 символов-ABCADFCDF.


cabanov.alexey: Я привёл Вам пример концептуальной ситуации, что из двух строк найдётся ровно одна. То, что вы не понимаете своих ошибок и стоите на своём - грустно. Хорошо, допишу символов. ABBBABBFBBBBF - регулярка найдёт только одну подстроку

dim18: Согласен с kirill14. В условии ничего не сказано про пересечение. "...ограниченные в начале символом A, а в конце символом F...".

Осипкин: Подобная ситуация обсуждается в FIND и COUNT. Как считать? В последовательности МАМАМАМА сколько раз встречается подпоследовательность МАМА? Два или три раза? В условии ничего не сказано про перекрытие подстрок. Я считаю, что - три. COUNT считает, что - две. Кто прав?



полная версия страницы