Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.25;
Скачать: 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 вся ветка

Текущий архив: 2004.02.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.028 c
1-79969
Nucl
2004-02-06 15:06
2004.02.25
ActiveX Exe


1-79927
saska
2004-02-09 18:00
2004.02.25
Стринг-грид


1-79982
h0use
2004-02-13 15:45
2004.02.25
Как из строки где записано 16-ное число сделать Integer


1-79886
ORMADA
2004-02-09 11:51
2004.02.25
TStream


3-79654
Lucky[ELF]
2004-01-31 01:23
2004.02.25
Как правильно настроить IB6.0 сервер и клиент