115 / 99 / 16
Регистрация: 23.05.2015
Сообщений: 563
|
||||||
1 | ||||||
RAD XE3+ Как распарсить IP адрес регулярным выражением05.09.2022, 21:43. Показов 2259. Ответов 26
Решил получить внешний IP адрес. (опять мой код который работал под D7 - перестал работать на D11 ) и я начал искать альтернативу и нашел:
Пример чисто тестовый. Часть кода взята отсюда Работу со строкой наваял сам.
(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d {1,3}) или так: ((?:\d{1,3}\.){3}\d{1,3}) Это то же, из материалов форума Но как, не знаю, то что мне удавалось найти было похоже на огромные простыни. Сам, с регулярными выражениями никогда не работал, если знаете как плиз подскажите.
0
|
05.09.2022, 21:43 | |
Ответы с готовыми решениями:
26
Разложить адрес по частям не регулярным выражением Как выбрать стиль регулярным выражением Как проверить регулярным выражением цифру? Как подключить разбор элемента регулярным выражением? Как удалить символы ", [ и ] регулярным выражением? |
Модератор
|
|
06.09.2022, 02:21 | 2 |
А что, собственно, она умного делает? Только убирает все, что не цифра и не точка. Вот такая строка,
12345. , вполне удовлетворяет Вашему "условию", хотя никоим боком не является IP-адресом... Да и конструкция in применительно к юникодной строке - так себе решение...
0
|
115 / 99 / 16
Регистрация: 23.05.2015
Сообщений: 563
|
||||||
06.09.2022, 08:06 [ТС] | 3 | |||||
Да, только убирает все, что не цифра и не точка. Я предварительно посмотрел строку возвращаемую
И можно добавить проверку на маску IP адреса. Человек говорит, что есть решение на основе регулярных выражений (не знаю более интересное или нет). Вот я и хотел спросить как это работает под D11? Скорее всего, нужно подключить какую-то библиотеку и сравнивать с паттерном возвращаемую сайтом информацию. Так как я с этим никогда не работал, вот и спросил у форумчан, которые разбираются как работать в D11 с регулярными выражениями, варианты решения.
0
|
Заблокирован
|
|
06.09.2022, 13:02 | 5 |
Вот и я о том жэж подумал.
Думаю, быстрее будет работать самодельная функция, заточенная именно на выдирание IP-адресов. Это же так просто: 1. Встретить в тексте число от 0 до 255, оканчивающееся точкой. 2. Проверить, что после точки идут 3 числа от 0 до 255, разделённые точками.
0
|
115 / 99 / 16
Регистрация: 23.05.2015
Сообщений: 563
|
|
06.09.2022, 14:03 [ТС] | 6 |
Действительно это не сложно.
Да, пожалуй что вы и правы, незачем вам принимать участие в моем безумии , тем более что я уже нашел материал по регулярным выражениям и как уже писал "Пример чисто тестовый" для проверки ранее предложенного решения. Тему можно закрывать.
0
|
0 / 0 / 0
Регистрация: 27.05.2022
Сообщений: 6
|
|
06.09.2022, 15:36 | 8 |
Сам, с регулярными выражениями никогда не работал, если знаете как плиз подскажите.
XYZ в чистом виде. И то правда, ведь эта фраза была в самом вопросе.
0
|
115 / 99 / 16
Регистрация: 23.05.2015
Сообщений: 563
|
||||||
07.09.2022, 21:52 [ТС] | 9 | |||||
Спасибо, всем за полезные ссылки замечания по существу вопроса!
Для тех кого заинтересует, предлагаю свой вариант решения:
0
|
3586 / 2195 / 693
Регистрация: 29.05.2013
Сообщений: 9,375
|
|
10.09.2022, 18:22 | 10 |
Длинноватый шаблон. А если так: ([\d]+(\.[\d]+)+)
0
|
115 / 99 / 16
Регистрация: 23.05.2015
Сообщений: 563
|
|
10.09.2022, 18:34 [ТС] | 11 |
Короче, но не вариант.
0
|
Модератор
3629 / 2150 / 759
Регистрация: 15.11.2015
Сообщений: 8,631
|
|
10.09.2022, 18:51 | 13 |
0
|
115 / 99 / 16
Регистрация: 23.05.2015
Сообщений: 563
|
|
10.09.2022, 19:15 [ТС] | 14 |
tps://**********************/questions/706722/%D0%9F%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B0-ip-%D0%B0%D0%B4%D1%80%D0%B5%D1%81%D0%B0-%D1%80%D0%B5%D0%B3%D1%83%D0%BB%D1%8F%D1%80%D0%BA%D0%BE%D0%B9
0
|
15 / 13 / 2
Регистрация: 21.12.2019
Сообщений: 246
|
||||||
19.04.2023, 16:09 | 15 | |||||
А зачем регуляркой то, зачем так сложно?
получаете код страницы и парсите от Current IP Address: до </body>
0
|
115 / 99 / 16
Регистрация: 23.05.2015
Сообщений: 563
|
|
20.04.2023, 09:18 [ТС] | 16 |
Silly_coder, Может полностью рабочий пример покажете, пока вижу обрывки из других тем форума и этот обрывок выдает у меня ошибки.
0
|
20.04.2023, 17:28 | 17 | |||||
бином Ньютона йопт
1
|
115 / 99 / 16
Регистрация: 23.05.2015
Сообщений: 563
|
||||||
20.04.2023, 19:57 [ТС] | 18 | |||||
В строке b: array [0..3] of bytes absolute c;
Опечутка, или в биноме нет ничего случайного? Добавлено через 21 минуту Я правильно вызываю?
0
|
Модератор
3629 / 2150 / 759
Регистрация: 15.11.2015
Сообщений: 8,631
|
|
20.04.2023, 21:18 | 19 |
Зачем это? Заранее туда не нужно ничего писать, функция в этой переменной вернёт найденный IP-адрес.
0
|
20.04.2023, 22:08 | 20 |
0
|
20.04.2023, 22:08 | |
20.04.2023, 22:08 | |
Помогаю со студенческими работами здесь
20
Как выбрать конкретную ссылку регулярным выражением? Как объединить два массива с регулярным выражением? Как определить длину строки, вырезанной регулярным выражением? Как найти все ссылки шрифтов регулярным выражением? Символ } принимается регулярным выражением как буква-цифра Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |