crossplatform.ru

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

> QRegExp vs IP адрес, какое выражение применить чтоыб вычеслить IP ?
flankerr
  опции профиля:
сообщение 10.7.2008, 14:16
Сообщение #1


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

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

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




Репутация:   0  


предположим надо проверить является ли строка простым текстом или IP адресом
т.е.
строка
"192.168.10.15" это IP адрес
а вот строки:
"500.345.112.0" или "123.123.figa" и т.п. IP адресом не являються

сразу отсекаем строки где есть не цифры

QRegExp reg1("[a-zA-Z\\\,\:\?\!\@\#\$\%\^\&\*]+"); \\т.е отсекаем всё кроме цифр и символа "точка"
QRegExp reg2 \\а вот это самое интеерсеное и об этом ниже
int r1 = reg1.indexIn(qstr);
int r2 = reg2.indexIn(qstr);
if(strReg.indexIn(qstr) == -1)
{
  if(k != -1)
  {
    // строка это IP алрес
  }
}


для начала чуть локализуем для простоты:
надо распознать диапазон от 0 до 255 и разделить их точками
т.е. строки
"000" "00" "0" "5" "55" "255" нам подходят
а вот строки
"1234" "257" "311" и т.п. нам НЕ подходят

навскидку вариант первый: ([0-1]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])$

но он НЕ даёт желаемого
символ '$' пчоему то НЕ ограничивает строку или я не понмаю как его использовать
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


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


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




RSS Текстовая версия Сейчас: 5.1.2025, 14:30