Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: Общие вопросы > TregExpr |
Автор: KaKTyCc 24.5.2006, 21:08 | ||
Извиняюсь что не в том форуме запостил, но другого выхода нет ![]()
Слово из русских букв находит, но почему то не присваивается строке ![]() |
Автор: Albinos_x 24.5.2006, 21:27 |
мда... разделом промахнулся.... http://forum.vingrad.ru/index.php?showforum=94 что есть TRegExpr? |
Автор: Yanis 24.5.2006, 21:45 |
http://regexpstudio.com/RU/TRegExpr/TRegExpr.html ![]() |
Автор: KaKTyCc 24.5.2006, 21:46 |
Albinos_x, да там не знает никто TRegExpr регулярные выражения, писана библиотека под Делфи, но использовать можно и в Билдере |
Автор: Yanis 24.5.2006, 21:57 |
А ты бряк на эту строку ставил? Вообще условие то выполняется? |
Автор: Albinos_x 24.5.2006, 22:14 |
у меня одни иероглифы... ![]() |
Автор: Yanis 24.5.2006, 22:19 |
![]() ![]() ![]() |
Автор: KaKTyCc 24.5.2006, 22:25 |
В том то и дело что выполняется ![]() ![]() |
Автор: Albinos_x 24.5.2006, 22:28 |
может стоит попробовать тип данных другой взять.... например widestring или ansistring... |
Автор: Yanis 24.5.2006, 22:28 | ||
А индекс случайно не от 0 начинается? Мне кажется всё таки надо так:
|
Автор: KaKTyCc 25.5.2006, 00:01 |
![]() ![]() ![]() |
Автор: Albinos_x 25.5.2006, 00:21 |
а с английскими таких проблем не возникает? |
Автор: KaKTyCc 25.5.2006, 00:24 |
Albinos_x, в том то и дело, если ищется mailto=adsadsafa то r2->Match[1] возвращает adsadsafa а если mailto=выпавпыв то это строка тоже находится, но возвращается пустота ![]() а если указать r2->Match[0] то возвращается только mailto= и все ![]() |
Автор: Albinos_x 25.5.2006, 05:19 |
библиотека с исходниками? |
Автор: Yanis 25.5.2006, 08:11 |
Конечно. Очень толковая библиотека. Советую скачать. |
Автор: BUGOR 25.5.2006, 08:44 |
Всё потому что выражение составлено неверно. Убери символ * и всё должно получится. |
Автор: KaKTyCc 25.5.2006, 10:16 | ||
Нет, все правильно, без * будет находить только 1 символ |
Автор: KaKTyCc 25.5.2006, 13:18 |
и тут никто не знает ![]() |
Автор: BUGOR 25.5.2006, 14:19 |
Спецсимвол "+" означает в твоё случае что символ "=" может повторятся один или более раз, потому как он стоит после равно, на скобки он не распространяется, в тоже время спецсимвол "*" позволяет быть пустоте в скобках, потому как "*" значит от 0 до скольки угодно раз(т.е. его может и не быть), поэтому тебе и возвращается пустота, потому как она подходит под условия, отсюда вывод, что твоё выражение надо переделать(ну по крайней мере я бы переделал![]() mailto=([a-zA-Z]+){1}\b Читаю выражение, если непонятно: Ищем строку, где сначала идёт последовательность "mailto=" после чего 1 или более любых символов английского алфавита(кстати вместо класса можно использовать \w), и вся эта последовательность символов не может повторяться более одного раза и после этого должен следовать конец слова(пробел, табуляция, перенос строки, конец строки). Хотя выражение неуниверсально, но на мой взгляд более верно |
Автор: KaKTyCc 25.5.2006, 14:41 |
BUGOR, да, тут соглашусь, но а что с русскими буквами делать, если например ищется mailto=_блаблабла_ то возвращает только _ |
Автор: BUGOR 25.5.2006, 16:19 |
KaKTyCc, я не встречал мыл которые пишутся по-русски ![]() |
Автор: KaKTyCc 25.5.2006, 16:23 |
BUGOR, это уже второй вопрос, тут не эмэйлы, имена пользователей, внутренняя почта ну так как мне быть с русскими именами ![]() |
Автор: BUGOR 25.5.2006, 16:27 |
Сейчас вот проверил... в пхп работают, а в ВБ нет... что делать... искать другую библиотеку наверное или дописывать эту. Ибо тут просто нет поддрежки русских символов, что тут сделаешь... |
Автор: KaKTyCc 25.5.2006, 16:36 |
BUGOR, в том то и дело что есть поддержка http://regexpstudio.com/Downloads/TestRExp.zip вот программка которая демонстрирует все возможности библиотеки |
Автор: AriX 25.5.2006, 17:17 |
Попробуй диапазон а-Я поменять на а-яА-Я |
Автор: KaKTyCc 25.5.2006, 18:18 |
AriX, тоже самое ![]() |
Автор: AriX 25.5.2006, 19:18 |
А ^mailto=(.*)$ не покатит? |
Автор: KaKTyCc 25.5.2006, 19:36 |
%D1%EB%E2%ED \" style ..... короче буранул я немного ![]() Добавлено @ 19:48 всем спасибо, вопрос решен, библиотека супер |
Автор: Yanis 26.5.2006, 08:42 |
Ну что же ты так... Я даже расстроился немного. |