Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > Найти все ip адреса в файле


Автор: NZero 24.9.2013, 14:30
Есть такой файл
Код

<?xml version="1.0" encoding="ISO-8859-1" ?> 
<!-- MSG-1 configuration version 1.2 --> 
<Root>
<IP_config>
<Primary_IP>172.19.5.11</Primary_IP> 
<Primary_mask>16</Primary_mask> 
<Sup_IP>172.19.5.12</Sup_IP> 
<Sup_mask>16</Sup_mask> 
<RTP_IP>172.19.5.13</RTP_IP> 
<RTP_mask>16</RTP_mask> 
<Primary_GW>172.19.5.1</Primary_GW> 
<Sup_GW>172.19.5.1</Sup_GW> 
<RTP_GW>172.19.5.1</RTP_GW> 
</IP_config>


Нужно найти все записи с IP адресом. Я ищу по точке

Код

if(/./)
{
...
}


Но так не работает, все остальные знаки находит кроме точек. Как разрулить эту ситуацию? Спасибо!

Добавлено через 4 минуты и 22 секунды
if ($str[$i] =~ /\./)

Автор: krypt3r 25.9.2013, 06:00
Херня, а не регулярка. Сделайте хотя бы /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/. Всяко лучше, чем одна точка
PS. IP-адреса хранятся в определенных узлах XML. Это намек заюзать спецмодули и извлекать эти самые узлы.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)