Linux за българи: Форуми

Програмиране => Web development => Темата е започната от: CadeFoster в Nov 20, 2011, 13:34



Титла: Перл
Публикувано от: CadeFoster в Nov 20, 2011, 13:34
какво не му е наред на тоя regular expression?

Код
GeSHi (Perl):
  1. ~ m/^d{1,3}.d{1,3}.d{1,3}.?*?/

Код:
Nested quantifiers in regex; marked by <-- HERE in m/^d{1,3}.d{1,3}.d{1,3}.?* <-- HERE ?/ at file.pl line 65.

някакви идей?  ???


Титла: Re: Перл
Публикувано от: CadeFoster в Nov 20, 2011, 13:49
Намерих решение

Код
GeSHi (Perl):
  1. ~ m/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/


Титла: Re: Перл
Публикувано от: b2l в Nov 20, 2011, 13:59
Код
GeSHi (Perl):
  1. \b(?:\d{1,3}\.){3}\d{1,3}\b


Титла: Re: Перл
Публикувано от: CadeFoster в Nov 20, 2011, 22:23
b2l
Код
GeSHi (Perl):
  1. \b(?:\d{1,3}\.){3}\d{1,3}\b
не работи.

Мислех че сам го налучкал ма не работи и по моя начин  :-[

Това е стария код(или поне из нет-а пише че не важи вече в перл5):

Код
GeSHi (Perl):
  1.  if ($network =~ m/^d{1,3}.d{1,3}.d{1,3}.?*?/) {
  2.  
  3.         #Network form x.y.z.
  4.         $network =~ s/^(d{1,3}.d{1,3}.d{1,3}).*/$1/;
  5.         $network .= ".";
  6.         $out_file = "file" . $network . "txt";
  7.  

Може ли да се конвертира за Перл5 ?



Титла: Re: Перл
Публикувано от: radoulov в Nov 21, 2011, 01:03
Какво точно съдържа променливата network и какво точно искаш да съвпада с тази regex:
Код
GeSHi (Perl):
  1. ^d{1,3}.d{1,3}.d{1,3}.?*?


Титла: Re: Перл
Публикувано от: b2l в Nov 21, 2011, 10:59
Какво точно съдържа променливата network и какво точно искаш да съвпада с тази regex:
Код
GeSHi (Perl):
  1. ^d{1,3}.d{1,3}.d{1,3}.?*?

Е то се вижда - IP адрес,


Титла: Re: Перл
Публикувано от: CadeFoster в Nov 22, 2011, 19:27
мрежова маска


Титла: Re: Перл
Публикувано от: Demayl в Nov 22, 2011, 20:13
m/^d{1,3}.d{1,3}.d{1,3}.?*?/
...изтрито... 192.168.0.5 ...изтрито... /^\d{1,3}\.\d{1,3}\.\d{1,3}\,\d{1,3}$/ ...изтрито... s/^(\d{1,3}\.\d{1,3}\.\d{1,3})\,\d{1,3}$/$1/s

Редактирано, съгласно т. 3 от правилата на форума
bop_bop_mara


Титла: Re: Перл
Публикувано от: b2l в Nov 22, 2011, 20:26
мрежова маска

Ами тогава регулярния ти израз не е правилен, защото този:
Код
GeSHi (Perl):
  1. ^(d{1,3}.d{1,3}.d{1,3}).*/$

Защото така мачваш и: 1.2.3.4