Текущий архив: 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.47 MB
Время: 0.005 c