Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.03.16;
Скачать: CL | DM;

Вниз

Регэкспы в Делфи   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.01 c
6-1182506570
Grega
2007-06-22 14:02
2008.03.16
Поиск адресов по номеру телефона


9-1168345585
HPR
2007-01-09 15:26
2008.03.16
[порка] Rhоmbis


2-1203330006
dm37
2008-02-18 13:20
2008.03.16
Построение очереди


2-1203152996
Rakurs
2008-02-16 12:09
2008.03.16
Сортировка TStringList при OEM тексте


2-1203100055
operator
2008-02-15 21:27
2008.03.16
Как поменять местами node-ы в treeview?