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

Вниз

preg_match_all в Delphi   Найти похожие ветки 

 
Lamer666   (2008-07-28 22:05) [0]

Всех приветсвую!
Давно не был у вас уважаемые...Снова пришел за советом...
Есть функция в PHP под названием preg_match_all, есть ли ее аналог в Delphi?
Всем благодарен!
С уважением Lamer666


 
KilkennyCat ©   (2008-07-28 22:12) [1]

Конечно, есть! а что она делает?


 
Lamer666   (2008-07-28 22:43) [2]

: )
Оптимистично!

preg_match_all
Ищет в строке subject все совпадения с шаблоном и помещает результат в массив
Например preg_match_all("/[0-9]{1,2}[:][0-9]{2}/",$file,$out_arr);
Возвращяет все строки в которых первые два символа цифры от 0-9, затем идет : ну и так далеее:
01:02
77:88
5:49


 
Сергей М. ©   (2008-07-28 22:46) [3]


> есть ли ее аналог в Delphi?


Нет.

Но есть аналог среди сторонних компонентов. которые могут быть использованы при программировании Делфи-приложений.

Например. TRegExpr.

А что, гуглить на тему "Delphi регулярные выражения" 666-ым ламерам разве нельзя ?)


 
Lamer666   (2008-07-28 22:48) [4]


> Сергей М. ©   (28.07.08 22:46) [3]

Простите! Можно, но людям свой ственно выбирать простые пути...
Вот вы дали направление TRegExpr, теперь все ясно... И вопросов нет!
Спасибо!


 
Lamer666   (2008-07-29 14:38) [5]

При использовании кода:
with TRegExpr.Create do
try
Expression := "^*width*$";
if Exec(S) then
begin
 ShowMessage("Нашел");
end;
finally
Free;
end;

где S строка содержащяя результат выполнения метода POST (код HTML странички)!

приложение выдает ошибку: TRegExpr(comp):*+Operand Could Be Empty (pos 1)

В примере работает, уменя НЕТ, помогите ребята!
Заранее примного благодарен!


 
easy ©   (2008-07-29 14:53) [6]

Expression := "(?im)^.*width.*$";
PS. там справка русская есть


 
ifrau   (2008-07-29 15:01) [7]

справок для этого компонента полно в сети
там еще модификаторы, по-моему, задать надо должным образом
ну и сам Expression правильно написать

поищи справку, там все подробно расписано, с примерами


 
Сергей М. ©   (2008-07-29 15:17) [8]


> Lamer666   (29.07.08 14:38) [5]


Чему равно S ?


 
Lamer666   (2008-07-29 15:28) [9]

Ошибка возщникает на строке
TRegExpr.Create

> Чему равно S ?


S="<HTML><HEAD><META http-equiv="Content-Type" content="text/html; charset=windows-1251">
<TITLE>jdfghjfghj</TITLE>
<LINK rel="stylesheet" href="/ps/selfcare_mcs/css/style.css" type="text/css">
<SCRIPT src="/ps/selfcare_mcs/js/current.js" language="javascript" type="text/javascript" defer></SCRIPT>
</HEAD>..............."


 
Сергей М. ©   (2008-07-29 15:39) [10]


> Ошибка возщникает на строке
> TRegExpr.Create


Не может упомянутая ошибка возникать при конструировании объекта TRegExpr.

Либо ты пользуешь какую-то древнюю не доведенную до ума версию RegExpr, где подобные ошибки могли иметь место.

Так ты ищешь теги <width> что ли ?


 
Lamer666   (2008-07-29 15:45) [11]


> Так ты ищешь теги <width> что ли ?

Да!
Видимо и вправду проблема в записи условия регулярного выражения!


 
Lamer666   (2008-07-29 15:50) [12]

with TRegExpr.Create do
try
Expression := "width";
if Exec(S) then
begin
ShowMessage("Нашел");
end;
finally
Free;
end;


Вот так работает.... видимо синтаксис немного отличаеться от PHP


 
Lamer666   (2008-07-29 15:51) [13]

Всем спасибо!
TRegExpr - хорошая вещь, экономит много времени!


 
Сергей М. ©   (2008-07-29 16:00) [14]


> Да!


Велосипед !

см.

http://www.google.ru/search?aq=f&complete=1&hl=ru&newwindow=1&client=firefox-a&rls=org.mozilla%3Aru%3Aofficial&q=Delphi+IHTMLDocument&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&lr=lang_ru



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

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

Наверх




Память: 0.5 MB
Время: 0.017 c
15-1216241143
Nic
2008-07-17 00:45
2008.09.07
Как проще всего принять денюжку из США и ЕС за программу?


2-1217239959
AlekseyB
2008-07-28 14:12
2008.09.07
База данных MS SQL


15-1215752865
Vlad Oshin
2008-07-11 09:07
2008.09.07
Задачка с подвохом, ибо пятница. Гарднера


2-1217367780
Неподарок
2008-07-30 01:43
2008.09.07
Документ как книга


15-1216157591
Германн
2008-07-16 01:33
2008.09.07
WinXP, NTFS и имена файлов