Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.09.07;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.005 c
2-1215903057
ply
2008-07-13 02:50
2008.09.07
увеличение времени исполнения запросов к БД


2-1217335816
Mops
2008-07-29 16:50
2008.09.07
1251 в UTF


2-1217418829
a.a.j.
2008-07-30 15:53
2008.09.07
Расширенный DBGrid


15-1216181257
dreamse
2008-07-16 08:07
2008.09.07
Написание спам фильтра


2-1217331791
Оксана Вл.
2008-07-29 15:43
2008.09.07
Удаление





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский