| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 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 |
| Ну что же ты так... Я даже расстроился немного. |