Вниз
Скачать: CL | DM;

Регулярные выражения и с чем их едят...   Найти похожие ветки 

← →
Cosinus ©   (2004-02-04 15:10) [0]

Добрый день. Вчера на основном форуме я задал такой вопрос (цитирую дословно)-

Cosinus © (03.02.04 18:21)
"Мне необходимо осуществить в файле поиск по маске, т.е. допустим есть файл, в нем ищется последовательность символов, длинной не менее LenMin и не более LenMax, и содержащаая только , например, символы "№" и "+". Как я поступаю сейчас :

читаю символ
проверяю на соответствие поставленным условиям
если нет, читаю следующий (вот здесь как то не очень получается, потому что, даже если да, то я же все равно читаю следующий, но правда в некоторой функции, которая накладывает доп. условия, такие как LenMax, LenMin и следит, чтобы не было конца файла)

Меня не устравает скорость работы данного алгоритма, может мне кто-нибудь посоветовать по этому поводу?
Заранее благодарен."

Sergey_Masloff мне порекомендовал использовать регулярные выражения. Я нашел инфу по ним, оказалось, что это действитедьно то, что мне нужно, НО....

Я собирался использовать библиотеку RegExpr ( http://regexpstudio.com/), автор Andrey V. Sorokin, но я совершенно не понимаю синтаксис, даже не сам синтаксис, а скорее конструкции, как это сделать. Ну допустим я составил условия поиска... Но хоть убейте, я не могу понять как его заставить работать. Если кто-либо что-нибудь подскажет, буду очень рад.

PS По-моему строка для данных мною условий, должна выглядеть так
[\d|#]{1,6, проверьте пожалуста, кто знает.


← →
Cosinus ©   (2004-02-04 16:00) [1]

Up


← →
nikkie ©   (2004-02-04 17:40) [2]

вместе с библиотечкой Сорокина идет демо - можно взять и проверить твое выражение на твоих текстах.


← →
Ломброзо ©   (2004-02-04 17:59) [3]

Создай файл с расширением .js и тестируй выражение в нём

var re = new ActiveXObject("VBScript.RegExp");
re.Pattern = "[0-9№]{1,6}";
if (re.Test("asasd№asdasdadasdasd"))
{
WScript.Echo("true");
} else {
WScript.Echo("false");
}



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.037 c
14-80262
olookin
2004-02-04 12:50
2004.02.25
Защита


8-80038
Веталь
2003-10-06 13:35
2004.02.25
Как устроить быструю отрисовку прозрачных спрайтов?


6-80074
__boolean
2003-12-17 10:44
2004.02.25
NetBios


3-79616
Вованчик
2004-02-02 08:15
2004.02.25
IBUpdateSQL


1-79971
Dmitriy_G
2004-02-13 16:11
2004.02.25
Время выполнения процедуры




   Наверх