crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V  < 1 2  
Ответить в данную темуНачать новую тему
> QRegExp, QRegExpvalidator, регулярные выражения..
molchanoviv
  опции профиля:
сообщение 6.4.2009, 7:48
Сообщение #11


Старейший участник
****

Группа: Сомодератор
Сообщений: 597
Регистрация: 18.7.2008
Из: Саратов
Пользователь №: 238

Спасибо сказали: 41 раз(а)




Репутация:   5  


Цитата(Litkevich Yuriy @ 5.4.2009, 22:28) *
molchanoviv, тыб ссылочку на страницу проекта дал, а то сразу загрузка.

Официальной страницы я не знаю, а гугл первой ссылкой по запросу regexp planner ведет на crossplatform.ru
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 6.4.2009, 7:53
Сообщение #12


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


Andrewshkovskii,
тебя подобные строки при компиляции не смущали?
Цитата
regform.cpp:96:28: warning: unknown escape sequence '\w'
regform.cpp:96:28: warning: unknown escape sequence '\.'
regform.cpp:96:28: warning: unknown escape sequence '\w'
regform.cpp:96:28: warning: unknown escape sequence '\.'
regform.cpp:96:28: warning: unknown escape sequence '\w'

это компилятор ругается что не знает таких символов. \n \0 \b знает а \w \. просто нету. чтобы написать обр. слэш в строке надо написать два и выражение твое будет:
QString mailval ("^[\\w-\\.]+@([\\w-]+\\.)+[\\w-]{2,4}$");
еще вопрос какой смысл использовать new при создании рег.выражения. зачем?
почему не создать его протсто

QRegExp("^[\\w-\\.]+@([\\w-]+\\.)+[\\w-]{2,4}$");
?

Сообщение отредактировал kwisp - 6.4.2009, 7:55
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 6.4.2009, 7:59
Сообщение #13


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(molchanoviv @ 6.4.2009, 11:48) *
а гугл первой ссылкой по запросу regexp planner ведет на crossplatform.ru
вот туда и можно сходить а там перейти по ссылке на форум и увидеть ссылку на оригинальный сайт и мой перевод программы :D
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Andrewshkovskii
  опции профиля:
сообщение 6.4.2009, 10:36
Сообщение #14


Активный участник
***

Группа: Участник
Сообщений: 351
Регистрация: 27.12.2008
Пользователь №: 467

Спасибо сказали: 18 раз(а)




Репутация:   1  


new - уже привычка работать с объектами через указатель...:)
Символы как-то я не подумал..:/
Только это проблемы не решает, я исправил все регэкспы на нормальные, а результат все тот же, ошибка в логике кода, видимо..

Сообщение отредактировал Andrewshkovskii - 6.4.2009, 10:38
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 6.4.2009, 11:56
Сообщение #15


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


Цитата(Andrewshkovskii @ 6.4.2009, 11:36) *
new - уже привычка работать с объектами через указатель...

помоему в случае работы с регулярными выражениями это лишнее.
я переправил код на свой вкус - как писал выше корректно работает минимум первый раз до обновления поля ввода имени.
если тебе это поможет вот как я написал
QString RegisterForm::validateAll()
{
    std::cout<<__func__<<"\n";
    QString passwordval   ("(?!^[0-9]*$)(?!^[a-zA-Z]*$)^([a-zA-Z0-9]{6,15})$");
    QString mailval       ("^[\\w-\\.]+@([\\w-]+\\.)+[\\w-]{2,4}$");
    QString usernameval   ("[a-zA-Z0-9]+");
    QString lastAndFirstNameval  ("([Aa-ZzАа-Яя])+");
    if(FName.indexOf(QRegExp("([Aa-Zz])+")) == 0)
            return "good";
    return "crutch";
}
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

2 страниц V  < 1 2
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 1.12.2024, 15:34