Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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
2-1202999893
ввв
2008-02-14 17:38
2008.03.16
Вопрос про сдвиги


15-1202380777
kyn66
2008-02-07 13:39
2008.03.16
Пропало окно отладки Watches


2-1203079733
SerMaxx
2008-02-15 15:48
2008.03.16
использование DBGrid или Grid


11-1185173900
rvi
2007-07-23 10:58
2008.03.16
Отчет


2-1203279731
Jimmy
2008-02-17 23:22
2008.03.16
Печать на принтере





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский