Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/25: Рейтинг темы: голосов - 25, средняя оценка - 4.60
843 / 738 / 342
Регистрация: 22.09.2012
Сообщений: 5,034
1

Регулярные выражения regexpr

05.12.2013, 21:35. Показов 4578. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Скачал библиотеку regexpr для ее использоавания там где скачал написано положить в папку с проектом.
Каждый раз искать искать этот файл и ложить не есть хорошо.

Можно ли ее в какую нить делфийскую папку положить чтоб она работала и куда если можно?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.12.2013, 21:35
Ответы с готовыми решениями:

Регулярные выражения
procedure TMyThread.Execute; var SL : TStringList; i : integer; rege,reg:tregexpr;...

Регулярные выражения
Доброго времени суток, камрады! Вопрос типа: есть много данных - это числа формата 0,00 в Excel....

Регулярные выражения
Добрый день. Возникла потребность парса определенного кода на странице. Суть: Есть страница со...

Регулярные выражения
Всем привет! помогите правильно составить регулярное выражение /^+$/ это выражение разрешает...

10
Заблокирован
05.12.2013, 21:46 2
в Lib поппробуй
1
843 / 738 / 342
Регистрация: 22.09.2012
Сообщений: 5,034
05.12.2013, 22:49  [ТС] 3
Сиськохват Поробовал вроде нормально, работает и оттуда.

------------------------------------

С одного сайта http://cybern.ru/regular-expressions-delphi.html по обучению регулярных выражений скачал пример, и он неправильно работает!

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var
   r: TRegExpr;
   result1, result2: string;
begin
   r := TRegExpr.Create;
   r.InputString := 'this is an example abc123123abc this is an example';
   r.Expression := 'abc(.*?)abc(.*?)';
   if r.Exec then
   begin
     result1 := r.Match[1]; // "123123"
     result2 := r.Match[2]; // " this is an example"
     Label1.Caption:= (result1); // выводит "123123"
     Label2.Caption:= (result2); // сюда вобще ни че не выводит!!!
   end else 
     showmessage('Не найдено'); 
end;
Как так они пример дали а он уже наполовину неработает! Как этот пример править?
0
Заблокирован
05.12.2013, 23:37 4
Delphi
1
r.Expression := 'abc(.*?)abc(.*)';
1
843 / 738 / 342
Регистрация: 22.09.2012
Сообщений: 5,034
06.12.2013, 00:21  [ТС] 5
Спс теперь все работает как надо!


Добавлено через 35 минут
Еще бы хотелось вот эту часть страницы html через регулярные выражения пропарсить в цикле или как я незнаю Но чтобы отловить все ники (они написаны черным)

Кликните здесь для просмотра всего текста
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<div class="body">
<img src="http://i.fank.mobi/i/d0/gender_z.gif" alt="" /><a href="/chat/u/?id=4&amp;uid=2322866&amp;sid=ntkwurib">OBKURENIY DED MOROZ</a><br/>
<img src="http://i.fank.mobi/i/d0/gender_z.gif" alt="" /><a href="/chat/u/?id=4&amp;uid=2274557&amp;sid=ntkwurib">TAIPAN</a><br/>
<img src="http://i.fank.mobi/i/d0/gender_f.gif" alt="" /><a href="/chat/u/?id=4&amp;uid=2306859&amp;sid=ntkwurib">упоротость</a><br/>
<img src="http://i.fank.mobi/i/d0/gender_m.gif" alt="" /><a href="/chat/u/?id=4&amp;uid=2298742&amp;sid=ntkwurib">Дымовуха</a><br/>
<img src="http://i.fank.mobi/i/d0/gender_u.gif" alt="" /><a href="/chat/u/?id=4&amp;uid=48447&amp;sid=ntkwurib">Толик</a><br/>
Всего: 5<br/>--<br/>
<a href="/chat/room/?id=4&amp;sid=ntkwurib">Кафешка</a> | <a href="/chat/?sid=ntkwurib">Фанкчат</a><br/>
? - пользователи в комнате 'Кафешка'.<br/>
 
</div>
 
<div class="downban">
<a href="/club/?sid=ntkwurib">[p]Толик</a>(<a href="/private/contacts/l/?sid=ntkwurib">+93</a>) (c) 2011 <a href="/?sid=ntkwurib">Фанк.ру</a><br/>
</div>
 
<div style="padding: 10px 0px 10px 5px;"><span style="color: #666666">Реклама:<br/>» </span><a href="/go.php?link=http%3A%2F%2Fmmska2.wbtiger.mmska.ru%2Fyb%2F6186255167%2Fyc%2Fru%2Fgame%2Fitem%3Fsale_code%3D48318">SEX-Морской бой - Раздень студентку!</a></div>
 
 
<div>
<a href="http://waplog.net/ru/c.shtml?12"><img src="http://c.waplog.net/ru/12.cnt" alt="waplog" border="0" /></a><br/>
<!--debug-->
</div>
 
</body>
</html>


И вот че я еще подумал если зацепиться за sid=ntkwurib"> то можно маленько лишка напарсить снизу страницы.

Но если зацепиться чуть раньше за uid=2322866&amp;sid=ntkwurib"> то получится очень хорошо, но проблема в том что цифры после uid= постоянно меняются, и не тока сами цифры но и их количество!

Я думаю если составить регулярку по сложнее то она справится с этой работой, но как составлять я незнаю, тока начал её осваивать...
0
Заблокирован
06.12.2013, 00:40 6
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
procedure TForm1.Button2Click(Sender: TObject);
var
  r: TRegExpr;
begin
  r := TRegExpr.Create;
  r.InputString := Memo1.Text;
  r.Expression := 'sid=ntkwurib">(.*?)</a><br/>';
    if r.Exec then
      repeat
        Memo1.Lines.Add(r.Match[1]);
      until not r.ExecNext;
end;
0
843 / 738 / 342
Регистрация: 22.09.2012
Сообщений: 5,034
06.12.2013, 01:15  [ТС] 7
Нормально, работает еще бы регулярку чуть поправить - немного лишнего "цепляет" с конца страницы
0
Заблокирован
06.12.2013, 01:41 8
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
procedure TForm1.Button2Click(Sender: TObject);
var
  r: TRegExpr;
begin
  r := TRegExpr.Create;
  r.InputString := Memo1.Text;
  r.Expression := 'uid=(.*?)&amp;sid=ntkwurib">(.*?)</a><br/>';
    if r.Exec then
      repeat
        Memo2.Lines.Add(r.Match[2]);
      until not r.ExecNext;
end;
0
843 / 738 / 342
Регистрация: 22.09.2012
Сообщений: 5,034
06.12.2013, 02:14  [ТС] 9
Во, собрал работает пока тестил 100% правильно, теперь от 1 до 8 цифр uid переваривает.

Delphi
1
RegExp.Expression := 'uid=\d{1,8}&amp;sid=ntkwurib">(.*?)</a><br/>';
0
Заблокирован
06.12.2013, 02:14 10
Там без разницы сколько цифр, вот такой текст нормально отрабатывает:
Кликните здесь для просмотра всего текста
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<div class="body">
<img src="http://i.fank.mobi/i/d0/gender_z.gif" alt="" /><a href="/chat/u/?
id=4&amp;uid=2322866&amp;sid=ntkwurib">OBKURENIY DED MOROZ</a><br/>
<img src="http://i.fank.mobi/i/d0/gender_z.gif" alt="" /><a href="/chat/u/?
id=4&amp;uid=227444343434343557&amp;sid=ntkwurib">TAIPAN</a><br/>
<img src="http://i.fank.mobi/i/d0/gender_f.gif" alt="" /><a href="/chat/u/?
id=4&amp;uid=&amp;sid=ntkwurib">упоротость</a><br/>
<img src="http://i.fank.mobi/i/d0/gender_m.gif" alt="" /><a href="/chat/u/?
id=4&amp;uid=2298742&amp;sid=ntkwurib">Дымовуха</a><br/>
<img src="http://i.fank.mobi/i/d0/gender_u.gif" alt="" /><a href="/chat/u/?
id=4&amp;uid=7&amp;sid=ntkwurib">Толик</a><br/>
Всего: 5<br/>--<br/>
<a href="/chat/room/?id=4&amp;sid=ntkwurib">Кафешка</a> | <a href="/chat/?
sid=ntkwurib">Фанкчат</a><br/>
? - пользователи в комнате 'Кафешка'.<br/>
 
</div>
 
<div class="downban">
<a href="/club/?sid=ntkwurib">[p]Толик</a>(<a href="/private/contacts/l/?
sid=ntkwurib">+93</a>) (c) 2011 <a href="/?sid=ntkwurib">Фанк.ру</a><br/>
</div>
 
<div style="padding: 10px 0px 10px 5px;"><span style="color: 
#666666">Реклама:<br/>» </span><a href="/go.php?link=http%3A%2F
%2Fmmska2.wbtiger.mmska.ru%2Fyb%2F6186255167%2Fyc%2Fru%2Fgame%2Fitem
%3Fsale_code%3D48318">SEX-Морской бой - Раздень студентку!</a></div>
 
 
<div>
<a href="http://waplog.net/ru/c.shtml?12"><img src="http://c.waplog.net/ru/12.cnt" 
alt="waplog" border="0" /></a><br/>
<!--debug-->
</div>
 
</body>
</html>
0
843 / 738 / 342
Регистрация: 22.09.2012
Сообщений: 5,034
06.12.2013, 02:18  [ТС] 11
Все спс работает отлично.
0
06.12.2013, 02:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.12.2013, 02:18
Помогаю со студенческими работами здесь

Регулярные выражения
Имеется html код: &lt;td&gt;21,43,16&lt;/td&gt; &lt;td&gt;2014&lt;/td&gt; не получается составить регулярку на парсинг с...

Регулярные выражения в потоке
Два дня мучаюсь, как реализовать 10 регулярных выражений к одной HTML странице в потоке. Мозгов не...

Регулярные выражения выборка
Добрый день, в данный момент делаю приложение на разбивку mail:рass (на отдельно mail и pass) база...

Парсинг [регулярные выражения]
Нужно из таких строк: 23.08 | 17:51 | Nick: Petia_Voloshuk | Dialog: Don_Pedro | Server:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru