![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
flankerr |
![]() ![]()
Сообщение
#1
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: ![]() ![]() ![]() |
предположим надо проверить является ли строка простым текстом или IP адресом
т.е. строка "192.168.10.15" это IP адрес а вот строки: "500.345.112.0" или "123.123.figa" и т.п. 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])$ но он НЕ даёт желаемого символ '$' пчоему то НЕ ограничивает строку или я не понмаю как его использовать |
|
|
![]() |
flankerr |
![]()
Сообщение
#2
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: ![]() ![]() ![]() |
решение нашлось
![]() чтобы символ '$' отрабатывал ожилаемо его надо использовать в паре с символом начало строки '^' а искомый шаблон для IP адреса выглядит так: "^(([0-1]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-1]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])$" |
|
|
void* |
![]()
Сообщение
#3
|
![]() Программист-самоучка ![]() ![]() ![]() Группа: Участник Сообщений: 429 Регистрация: 4.6.2008 Пользователь №: 193 Спасибо сказали: 28 раз(а) Репутация: ![]() ![]() ![]() |
вот еще вариант рег. выражения для ip-адреса:
|
|
|
flankerr |
![]()
Сообщение
#4
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(void* @ 17.7.2008, 10:39) Link вот еще вариант рег. выражения для ip-адреса:
неа ![]() допустим "999.999.999.999" разве это IP адрес ? ![]() |
|
|
Litkevich Yuriy |
![]()
Сообщение
#5
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
на прогорге вымучивали долго, но вымучили этот регэксп
вроде такой вариант был: QRegExp rx( "\\b(([01]?\\d?\\d|2[0-4]\\d|25[0-5])\\.){3}([01]?\\d?\\d|2[0-4]\\d|25[0-5])\\b" ); |
|
|
flankerr |
![]()
Сообщение
#6
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: ![]() ![]() ![]() |
мне больше нравиться мой вариант как более наглядный
![]() |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 7.8.2025, 14:00 |