|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Парсер IP из текста |
|
[решено] Парсер IP из текста
|
Старожил Сообщения: 398 |
Профиль | Сайт | Отправить PM | Цитировать
Здравствуйте!
Помогите пожалуйста никак не могу разобраться с шаблонами. Куда ставить скобки, что нужно экранировать и т.д. вообще даже такое простое выражение, нужно выковырять с текста IP такого вида: 127.0.0.1:8080, IP и порт меняется. Никак не могу сделать. Объясните пожалуйста... |
|
------- Отправлено: 16:10, 24-01-2010 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Слишком общий заголовок темы, переименуй во что нибудь более специфическое.
По поводу выковыривания IP: $sString = @IPAddress2 & ":8080" $GetValidIp = _StringIsValidIP($sString, -1, 1) ConsoleWrite($GetValidIp) Func _StringIsValidIP($sIP_String, $iRet_Flag=-1, $iRet_Port=0) If $iRet_Flag <> -1 Then Return StringRegExp($sIP_String, '\A([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})\z') Local $sPattern = '([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}).*' If $iRet_Port Then $sPattern = '([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}(?::\d{4})?).*' Return StringRegExpReplace($sIP_String, $sPattern, '\1') EndFunc |
------- Отправлено: 16:58, 24-01-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 398
|
Профиль | Сайт | Отправить PM | Цитировать |
------- Отправлено: 18:48, 24-01-2010 | #3 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата morgan1991:
|
|
------- Отправлено: 19:07, 24-01-2010 | #4 |
Старожил Сообщения: 398
|
Профиль | Сайт | Отправить PM | Цитировать Или я дурак или лыжи по асфальту не едут....
Local $TempHtml = _ProxyDownload("proxies.my-proxy.com", "80", "http://proxies.my-proxy.com/") Local $TempFormula = StringRegExp($TempHtml, '([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}(?::\d{*})?).*', 3) For $i = 0 To UBound($TempFormula)-1 Step +1 FileWrite("ttttttt.txt", $TempFormula[$i] & @CRLF) Next |
|
------- Отправлено: 20:03, 24-01-2010 | #5 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать morgan1991,
Вот здесь Две функции CreatoRа Я их чуть-чуть переделал под себя(CreatoR, извини, пожалуйста): #include <Inet.au3> $url1 = "http://www.proxylist.net/list/pl/0/1" $sFile = "proxy.txt" $sTest = _INetGetSource($url1) If $sTest <> "" Then $IPsArray = _StringToIPArray($sTest) For $i = 1 To $IPsArray[0] Step 2 FileWrite($sFile, $IPsArray[$i] & @CRLF) Next EndIf Func _StringToIPArray($sString) Local $avArray = StringRegExp($sString, '(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\:\d{1,5})', 3) Local $avRetArr[UBound($avArray) + 1], $iUbound For $i = 0 To UBound($avArray) - 1 If _StringIsValidIP($avArray[$i]) Then $avRetArr[0] += 1 $avRetArr[$avRetArr[0]] = $avArray[$i] EndIf Next If $avRetArr[0] = 0 Then Return SetError(1, 0, 0) ReDim $avRetArr[$avRetArr[0] + 1] Return $avRetArr EndFunc ;==>_StringToIPArray Func _StringIsValidIP($sIP_String, $iRet_Flag = -1) If $iRet_Flag <> -1 Then Return StringRegExp($sIP_String, '\A(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\:\d{1,5})\z') Return StringRegExpReplace($sIP_String, '(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\:\d{1,5}).*', '\1') EndFunc ;==>_StringIsValidIP |
Отправлено: 21:56, 24-01-2010 | #6 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Парсер по документу WORD | Frost_Imp | AutoIt | 5 | 03-08-2011 17:47 | |
CMD/BAT - [решено] вывод текста на экран | antoniospb | Скриптовые языки администрирования Windows | 6 | 23-04-2010 13:40 | |
[решено] Выделение числа из текста | u-Art | AutoIt | 15 | 18-01-2010 03:07 | |
[решено] Ввод текста в ноутбуке ? | tyt | Хочу все знать | 6 | 25-10-2009 15:10 | |
CMD/BAT - [решено] Изменение текста в файле | tarasov.evgeny | Скриптовые языки администрирования Windows | 5 | 12-08-2009 16:21 |
|