Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
12 / 12 / 2
Регистрация: 19.03.2012
Сообщений: 175
1

Регулярное выражение не работает

04.05.2018, 13:08. Показов 310. Ответов 2
Метки нет (Все метки)

Всем привет!
Собственно есть строки вида:
"2700006 Рулетки измерительные металлические ВТ8М 171.35 •"
В Notepad++ подобрал регулярку для поиска числа в конце строки: (?<= )(\d?){2} ?(\d{2})?\d\.\d{2}(?= •)
там все прекрасно работает, но в Delphi искать именно по этой маске никак не хочет. Код функции привожу ниже. Кто что подскажет?
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function TForm1.GetPrice(str: string): String;
var
 RegEx: TRegEx;
 MatchCollection:tMatchCollection;
 i:integer;
 val:string;
 
begin
  RegEx:=TRegEx.Create('(?<= )(\d?){2} ?(\d{2})?\d\.\d{2}(?= •)');
  if MatchCollection.Count > 0 then
 
  for i := 0 to MatchCollection.Count - 1 do
begin
  val:=MatchCollection.Item[i].Value;
  result := StringReplace(str, val, '|'+val+'|', [rfReplaceAll, rfIgnoreCase]);
end;
end;
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.05.2018, 13:08
Ответы с готовыми решениями:

Не работает регулярное выражение
День добрый! &lt;tbody&gt; &lt;tr&gt;&lt;td class=&quot;first time noWrp tl&quot;&gt;16.02.2016 - 02.05.2016&lt;/td&gt; &lt;td...

По какой причине не работает регулярное выражение ?
procedure TForm1.Button1Click(Sender: TObject); var rege:tregexpr; begin ...

Регулярное выражение
Доброго времени суток! Нужно спарсить следующий html код: &lt;tr&gt; &lt;td&gt;Текст1&lt;/td&gt; &lt;td&gt;Текст2&lt;/td&gt;...

Регулярное выражение
В регулярках не селен, подскажите регулярное выражение что бы спарсить между title=&quot; и user=&quot; В...

2
3585 / 3056 / 822
Регистрация: 29.08.2013
Сообщений: 20,390
Записей в блоге: 2
04.05.2018, 13:17 2
что такое tMatchCollection?

и где в этом коде используется RegEx, кроме создания

Добавлено через 47 секунд
да, и обязательно регулярками? обычный поиск не работает
0
Житель Земли
2838 / 2709 / 375
Регистрация: 26.07.2011
Сообщений: 10,774
Записей в блоге: 1
04.05.2018, 14:31 3
Цитата Сообщение от qwertehok Посмотреть сообщение
что такое tMatchCollection?
допустим, это не класс, который нужно создвать, а запись
Vyazan, ты объявляешь MatchCollection локально и сразу же производишь сравнение на > 0
как значение может быть не ноль, если ранее ты ничего не присваивал?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.05.2018, 14:31

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Регулярное выражение
&lt;tr&gt;&lt;td colspan=&quot;5&quot; class=&quot;wday&quot;&gt;среда (4.12.2019)&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td...

Исправить регулярное выражение
Почему-то цифру 5 немогу вытащить вот таким регулярным выражением url=/chat/room/?id=(.*?)&amp;amp; ...

Сложное регулярное выражение
Здравствуйте. Мне нужно найти в тексте 4 варианта заголовков: (\d+)(\.)(\d+)(\s)(+) 1.345...

Регулярное выражение с исключением
Добрый день! Никак не могу написать регулярку для проверки номеров телефонов. Дело в том что...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.