Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> TregExpr, и поиск русских букв 
V
    Опции темы
KaKTyCc
Дата 24.5.2006, 21:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 247
Регистрация: 2.8.2005

Репутация: нет
Всего: 1



Извиняюсь что не в том форуме запостил, но другого выхода нет  smile 

Код

 TRegExpr *r2 = new TRegExpr;
  r2->ModifierR = true;
      r2->Expression = "mailto=+([а-Я\\+]*)";
      if(r2->Exec(fMain->Memo1->Text))
       {
         String s =  r2->Match[1];   // s принимает значение NULL почему то после выполнения условия
       }
  
     r2->Free();


Слово из русских букв находит, но почему то не присваивается строке  smile 
 
--------------------
Мой блог
PM MAIL WWW   Вверх
Albinos_x
Дата 24.5.2006, 21:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 26
Всего: 108



мда... разделом промахнулся....
http://forum.vingrad.ru/index.php?showforum=94

что есть TRegExpr? 


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Yanis
Дата 24.5.2006, 21:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



Цитата(Albinos_x @  24.5.2006,  22:27 Найти цитируемый пост)
что есть TRegExpr? 

http://regexpstudio.com/RU/TRegExpr/TRegExpr.html  smile 


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
KaKTyCc
Дата 24.5.2006, 21:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 247
Регистрация: 2.8.2005

Репутация: нет
Всего: 1



Albinos_x,  да там не знает никто

TRegExpr регулярные выражения, писана библиотека под Делфи, но использовать можно и в Билдере
 
--------------------
Мой блог
PM MAIL WWW   Вверх
Yanis
Дата 24.5.2006, 21:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



А ты бряк на эту строку ставил? Вообще условие то выполняется? 


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
Albinos_x
Дата 24.5.2006, 22:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 26
Всего: 108



Цитата(Yanis @  24.5.2006,  21:45 Найти цитируемый пост)
http://regexpstudio.com/RU/TRegExpr/TRegExpr.html   

у меня одни иероглифы... smile 
 


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Yanis
Дата 24.5.2006, 22:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



Цитата(Albinos_x @  24.5.2006,  23:14 Найти цитируемый пост)
у меня одни иероглифы... 

 smile У меня тоже smile Кодировку то смени smile 


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
KaKTyCc
Дата 24.5.2006, 22:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 247
Регистрация: 2.8.2005

Репутация: нет
Всего: 1



Цитата(Yanis @  24.5.2006,  21:57 Найти цитируемый пост)
Вообще условие то выполняется? 



В том то и дело что выполняется  smile  но не присваивается ничерта  smile  
--------------------
Мой блог
PM MAIL WWW   Вверх
Albinos_x
Дата 24.5.2006, 22:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 26
Всего: 108



может стоит попробовать тип данных другой взять....
например widestring или ansistring... 


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Yanis
Дата 24.5.2006, 22:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



Цитата(KaKTyCc @  24.5.2006,  22:08 Найти цитируемый пост)
String s =  r2->Match[1]; 

А индекс случайно не от 0 начинается? Мне кажется всё таки надо так:
Код
String s =  r2->Match[0];
  

Это сообщение отредактировал(а) Yanis - 24.5.2006, 22:34


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
KaKTyCc
Дата 24.5.2006, 23:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 247
Регистрация: 2.8.2005

Репутация: нет
Всего: 1



Цитата(Yanis @  24.5.2006,  22:28 Найти цитируемый пост)
А индекс случайно не от 0 начинается? Мне кажется всё таки надо так:


на 0, это если все выражание, если я поставлю 0, то в s будет mailto=Yanis
а если 1, то вернет именно то что в скобках, тоесть просто Yanis
так вот имена с англ буквами возвращает, а с русскими либо mailto=
а если 1 то ничиго  smile   

Это сообщение отредактировал(а) KaKTyCc - 24.5.2006, 23:48
--------------------
Мой блог
PM MAIL WWW   Вверх
KaKTyCc
Дата 25.5.2006, 00:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 247
Регистрация: 2.8.2005

Репутация: нет
Всего: 1



 smile  smile  smile  
--------------------
Мой блог
PM MAIL WWW   Вверх
Albinos_x
Дата 25.5.2006, 00:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 26
Всего: 108



а с английскими таких проблем не возникает? 


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
KaKTyCc
Дата 25.5.2006, 00:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 247
Регистрация: 2.8.2005

Репутация: нет
Всего: 1



Albinos_x,  в том то и дело, если ищется  mailto=adsadsafa
то  r2->Match[1] возвращает adsadsafa
а если mailto=выпавпыв
то это строка тоже находится, но возвращается пустота  smile 
а если указать r2->Match[0] то возвращается только mailto= и все  smile  
--------------------
Мой блог
PM MAIL WWW   Вверх
Albinos_x
Дата 25.5.2006, 05:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 26
Всего: 108



библиотека с исходниками? 


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Yanis
Дата 25.5.2006, 08:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



Цитата(Albinos_x @  25.5.2006,  06:19 Найти цитируемый пост)
библиотека с исходниками? 
Конечно. Очень толковая библиотека. Советую скачать. 


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
BUGOR
Дата 25.5.2006, 08:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 325
Регистрация: 12.3.2006

Репутация: 5
Всего: 16



Всё потому что выражение составлено неверно. Убери символ * и всё должно получится. 


--------------------
Живу недоумевая, всё время хочу понять...
http://hunger.ru 
PM MAIL WWW ICQ   Вверх
KaKTyCc
Дата 25.5.2006, 10:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 247
Регистрация: 2.8.2005

Репутация: нет
Всего: 1



Цитата(BUGOR @  25.5.2006,  08:44 Найти цитируемый пост)
Всё потому что выражение составлено неверно. Убери символ * и всё должно получится.  

Нет, все правильно, без * будет находить только 1 символ 
--------------------
Мой блог
PM MAIL WWW   Вверх
KaKTyCc
Дата 25.5.2006, 13:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 247
Регистрация: 2.8.2005

Репутация: нет
Всего: 1



и тут никто не знает  smile  
--------------------
Мой блог
PM MAIL WWW   Вверх
BUGOR
Дата 25.5.2006, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 325
Регистрация: 12.3.2006

Репутация: 5
Всего: 16



Спецсимвол "+" означает в твоё случае что символ "=" может повторятся один или более раз,  потому как он стоит после равно, на скобки он не распространяется, в тоже время спецсимвол "*" позволяет быть пустоте в скобках, потому как "*" значит от 0 до скольки угодно раз(т.е. его может и не быть), поэтому тебе и возвращается пустота, потому как она подходит под условия, отсюда вывод, что твоё выражение надо переделать(ну по крайней мере я бы переделалsmile):

mailto=([a-zA-Z]+){1}\b

Читаю выражение, если непонятно:

Ищем строку, где сначала идёт последовательность "mailto=" после чего 1 или более любых символов английского алфавита(кстати вместо класса можно использовать \w), и вся эта последовательность символов не может повторяться более одного раза и после этого должен следовать конец слова(пробел, табуляция, перенос строки, конец строки). 

Хотя выражение неуниверсально, но на мой взгляд более верно

  

Это сообщение отредактировал(а) BUGOR - 25.5.2006, 14:29


--------------------
Живу недоумевая, всё время хочу понять...
http://hunger.ru 
PM MAIL WWW ICQ   Вверх
KaKTyCc
Дата 25.5.2006, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 247
Регистрация: 2.8.2005

Репутация: нет
Всего: 1



BUGOR, да, тут соглашусь, но а что с русскими буквами делать, если например ищется
mailto=_блаблабла_  то возвращает только _   
--------------------
Мой блог
PM MAIL WWW   Вверх
BUGOR
Дата 25.5.2006, 16:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 325
Регистрация: 12.3.2006

Репутация: 5
Всего: 16



KaKTyCc, я не встречал мыл которые пишутся по-русски smile  

Это сообщение отредактировал(а) BUGOR - 25.5.2006, 16:20


--------------------
Живу недоумевая, всё время хочу понять...
http://hunger.ru 
PM MAIL WWW ICQ   Вверх
KaKTyCc
Дата 25.5.2006, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 247
Регистрация: 2.8.2005

Репутация: нет
Всего: 1



BUGOR, это уже второй вопрос, тут не эмэйлы,  имена пользователей, внутренняя почта

ну так как мне быть с русскими именами smile
 
--------------------
Мой блог
PM MAIL WWW   Вверх
BUGOR
Дата 25.5.2006, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 325
Регистрация: 12.3.2006

Репутация: 5
Всего: 16



Сейчас вот проверил... в пхп работают, а в ВБ нет... что делать... искать другую библиотеку наверное или дописывать эту. Ибо тут просто нет поддрежки русских символов, что тут сделаешь... 


--------------------
Живу недоумевая, всё время хочу понять...
http://hunger.ru 
PM MAIL WWW ICQ   Вверх
KaKTyCc
Дата 25.5.2006, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 247
Регистрация: 2.8.2005

Репутация: нет
Всего: 1



BUGOR,  в том то и дело что есть поддержка

http://regexpstudio.com/Downloads/TestRExp.zip

вот программка которая демонстрирует все возможности библиотеки 
--------------------
Мой блог
PM MAIL WWW   Вверх
AriX
Дата 25.5.2006, 17:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 311
Регистрация: 16.6.2003

Репутация: 5
Всего: 19



Попробуй диапазон а-Я поменять на а-яА-Я 
PM MAIL   Вверх
KaKTyCc
Дата 25.5.2006, 18:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 247
Регистрация: 2.8.2005

Репутация: нет
Всего: 1



AriX,  тоже самое  smile  
--------------------
Мой блог
PM MAIL WWW   Вверх
AriX
Дата 25.5.2006, 19:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 311
Регистрация: 16.6.2003

Репутация: 5
Всего: 19



А
^mailto=(.*)$
не покатит? 
PM MAIL   Вверх
KaKTyCc
Дата 25.5.2006, 19:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 247
Регистрация: 2.8.2005

Репутация: нет
Всего: 1



%D1%EB%E2%ED \" style .....

короче буранул я немного smile все работает, просто я не посмотрел как следует

Добавлено @ 19:48 
всем спасибо, вопрос решен, библиотека супер 
--------------------
Мой блог
PM MAIL WWW   Вверх
Yanis
Дата 26.5.2006, 08:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



Ну что же ты так... Я даже расстроился немного. 


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0703 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.