Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > генерация регулярного выражения


Автор: libman 15.11.2009, 18:13
Добрый день, подскажите пожалуйста, как можно по входной строке сгененрировать регулярные выражения удовлетворяющие этой строке? кроме как random и подбор подходящих?

заранее спасибо за ответ

Автор: Heinzz 15.11.2009, 18:52
..

Автор: diadiavova 15.11.2009, 18:54
libman, у меня к тебе встречный вопрос: имеется число, известно, что оно получено в результате арифметических операций над другими числами. Как найти эти числа?

Добавлено через 1 минуту и 53 секунды
И кстати: это - не оффтопик smile 

Автор: Heinzz 15.11.2009, 19:19
Как я несразу понял, libman имел ввиду выражения соответствующие ТОЛЬКО этой строке. Иначе вопрос абсурден.

Автор: libman 15.11.2009, 19:27
допустим есть строка 34524534
регулярное выражение точно описывающее это строку это и етсь само 34524534
но также и регулярное выражение [1-9]+ описывает эту строку, хочеться получить именно 2е, как сделать рандомом и так понятно, может быть ктото сталкивался с какимито готовыми средствами встрокными в .net

diadiavova:

5=1+1+1/1*1+2

ненадо получать 1+1+1/1*1+2
подойдет как 5+0+0+0
так и 1+2+2

никто неговорит что нужно получить именно 1+1+1/1*1+2


Автор: diadiavova 16.11.2009, 11:27
Цитата(libman @  15.11.2009,  19:27 Найти цитируемый пост)
никто неговорит что нужно получить именно 1+1+1/1*1+2
Ну ты как бы  сам написал, что даже сама строка может быть регекспом для самой себя. При этом для большинства строк количество регекспов их описывающих - бесконечно. Вопрос в том, какой из этого бесконечного числа нужен тебе. Да и количество строк тоже практически бесконечно(по крайней мере очень велико). Поэтому возникает вопрос: по какому принципу тебе надо формировать регексп. Вся прелесть регулярных выражений в том, что в них можно заложить общий принцип, по которому осуществляется поиск, а не в том, что они соответствуют какой-то конкретной строке.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)