Форум: "Прочее";
Текущий архив: 2008.03.16;
Скачать: [xml.tar.bz2];
ВнизРегэкспы в Делфи Найти похожие ветки
← →
Kerk © (2008-02-06 21:39) [0]Существует ли фриварная библиотека для делфи, которая может генерировать все строки удовлетворяющие заданному ей регэкспу? Юнитов для проверки "regular expression matching" дофига, а вот того, что мне нужно не нашел.
P.S. Есессно имеются ввиду регэкспы ограниченной длины
← →
хам (2008-02-06 21:43) [1]> Существует ли фриварная библиотека для делфи, которая может
> генерировать все строки удовлетворяющие заданному ей регэкспу?
Это как? Неужто на запрос .+ для 4-х символов будет 4 миллиарда значений?
← →
Kerk © (2008-02-06 21:45) [2]
> хам (06.02.08 21:43) [1]
Намного меньше 4х миллиардов. "точка" содержит далеко не все символы.
Но не суть. Пусть синтаксис будет чем-то ограничен. Мне просто нужно дать юзеру возможность удобно задавать шаблоны строк.
← →
Zeqfreed © (2008-02-06 21:52) [3]> Kerk © (06.02.08 21:45) [2]
* и ? для обычных смертных и PCRE для продвинутых пользователей не подходит?
← →
Kerk © (2008-02-06 21:57) [4]
> Zeqfreed © (06.02.08 21:52) [3]
Смотрел сайт PRCE. Нужного мне функционала в описаловке не нашел. Плохо искал?
← →
Zeqfreed © (2008-02-06 22:00) [5]> Kerk © (06.02.08 21:57) [4]
Описание чего именно? Я имею в виду, что пользователи, которые знакомы с синтаксисом PCRE могли бы составлять шаблоны с помощью него, а ты бы стандартной библиотекой потом проверял строки на совпадение, или какая там стоит задача. А те, кто синтаксиса не знает, могут использовать стандартные wildcard-символы * и ? в шаблоне. Или я неправильно понял суть вопроса?
← →
Kerk © (2008-02-06 22:04) [6]
> Zeqfreed © (06.02.08 22:00) [5]
Мне нужно не проверять что-либо на совпадение с шаблоном. Такого как раз в сети как грязи. Мне нужно по заданному шаблону "super[A-Z]" сгенерить список строк "superA", "superB","superC" и т.д.
← →
Zeqfreed © (2008-02-06 22:06) [7]> Kerk © (06.02.08 22:04) [6]
Это я понял, но не понял зачем. Если тебе нужно «дать юзеру возможность удобно задавать шаблоны строк», то я не понимаю каким местом тут нужна генерация всех строк, которые удовлетворяют шаблону.
← →
Kerk © (2008-02-06 22:09) [8]
> Zeqfreed © (06.02.08 22:06) [7]
Блин, ну задача такая вот :)) Все-тки хотелось бы обсудить вопрос "как", а не "зачем".
← →
хам (2008-02-06 22:10) [9]> [7] Zeqfreed © (06.02.08 22:06)
> Если тебе нужно «дать юзеру возможность удобно задавать
> шаблоны строк», то я не понимаю каким местом тут нужна генерация
> всех строк, которые удовлетворяют шаблону.
Млин, это шаблоны для генерации сток, цель генерация, не все ли равно для чего она нужна?
← →
Zeqfreed © (2008-02-06 22:18) [10]Ну мне правда интересно зачем это может понадобиться. Если уж это такая тайна, то ладно.
По теме нашел две ссылки, подобная задача на Перле:
http://www.perlmonks.org/index.pl?node_id=284513
http://search.cpan.org/~bowmanbs/Regexp-Genex-0.07/lib/Regexp/Genex.pm
В принципе, если ограничить синтаксис, например, строковыми классами, альтернативами и квантификаторами, то написать реализацию вполне реально.
← →
Kerk © (2008-02-07 12:13) [11]
> Zeqfreed © (06.02.08 22:18) [10]
Да в общем, не секрет. Просто не хочется карты раньше времени раскрывать. Ну, например утилитки для брутфорса паролей такое используют.
← →
Kerk © (2008-02-07 12:14) [12]Жаль, что на Делфи нету. Так и знал, что придется самому писать.
← →
ketmar © (2008-02-07 12:21) [13]>[12] Kerk © (2008-02-07 12:14:00)
кстати, в какой-то дельфячей либе что-то подобное видел. кажется. впрочем, это тебе не поможет, потому что не помню ни где, ни как, ни когда. %-(
---
Understanding is not required. Only obedience.
← →
Kerk © (2008-02-07 12:33) [14]
> ketmar © (07.02.08 12:21) [13]
Ну напрягись! Если вспомнишь, я буду всегда-всегда с тобой спорить, чесслово :)
← →
ketmar © (2008-02-07 12:47) [15]>[14] Kerk © (2008-02-07 12:33:00)
блин, да я уже весь моск сломал, честно. самое обидное, что ведь не помню. на каком-то старом болване чуть ли не прошлого века, в разделе «опенсорц» было. и либа была «а-ля rx». в названии буква «s». вот всё, что осталось в памяти. честно — как только (если) — так сразу и скажу. я ещё вот помню, что удивлялся: зачем такая фигня вообще нужна. кстати, в описании либы упирали на тот факт, что «woldcard matching есть у всех, а вот наоборот — ни у кого, только у нас». ну, что-то в этом роде. очень старое. но точно опенсорцное. но малоизвестное (собственно, нигде больше и не видел, кроме как на том болване). я порою старые архивы, может лежит где, но ты особо не надейся, много водки утекло с тех пор…
---
Understanding is not required. Only obedience.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2008.03.16;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.007 c