Forum Webscript.Ru
		Программирование => Perl => Тема начата: Alexandr от 17 Февраля 2003, 12:54:09
		
			
			- 
				Как выбрать корректный IP из след. строк:
 \'\'
 \'unknown\'
 \'127.0.0.1, unknown\'
 \'127.0.0.1\'
 \'127.0.0.1, 123.123.0.23\'
 \'127.0.0.1, 123.123.0.23, 123.123.0.23\'
 ?
 Т.е. необходимо забирать только правую часть(если они перечислены ч/з зпт.), а первых 3-х случаях обламывать проверку
- 
				
 m/\\,\\s+\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}/
 
- 
				Это как прикрутить?
			
- 
				Это как прикрутить? 
 
 $line = \'127.0.0.1, 123.123.0.23, 123.123.0.23\';
 
 if ($line =~ m/\\,\\s+(\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3})$/) {
 $ip = $1;
 }
 
 print $ip;
- 
				регулярное выражение от Джеффри Фридла ( http://www.oreilly.com/catalog/regex2 ):
 
 ^([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])$