/ Forside / Teknologi / Udvikling / Perl / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Perl
#NavnPoint
bjarneA 141
poul_from 50
soccer 30
Nicknack 14
Tmpj 0
regex
Fra : Allan Kok


Dato : 13-10-06 16:10

Jeg har i et script, hvor jeg telnetter min router for at fange dens wan ip
adresse.

Hvordan får jeg trukket ip adressen ud, i stringen er der før ip adressen
"WAN.[11;7H00:A0:C5:60:B5:75.[11;29H" og dette efter ".[11;45H"
mvh
Allan



 
 
Martin Rasmussen (13-10-2006)
Kommentar
Fra : Martin Rasmussen


Dato : 13-10-06 21:53

"Allan Kok" <allan.kok@fabel.dk> wrote in message
news:452fac5a$0$49208$14726298@news.sunsite.dk...
> Hvordan får jeg trukket ip adressen ud, i stringen er der før ip adressen
> "WAN.[11;7H00:A0:C5:60:B5:75.[11;29H" og dette efter ".[11;45H"

Så længe, der ikke er andet i strengen, der ligner en IP-adresse, behøver du
ikke forholde dig til det, du ikke skal bruge. /((\d+\.){3}\d+)/ skulle
virke fint.

--
Med venlig hilsen
Martin Rasmussen


Allan Kok (14-10-2006)
Kommentar
Fra : Allan Kok


Dato : 14-10-06 06:25


"Martin Rasmussen" <emmaps@worldonline.dk.invalid> skrev i en meddelelse
news:G0TXg.93$yS.41@news.get2net.dk...
> "Allan Kok" <allan.kok@fabel.dk> wrote in message
> news:452fac5a$0$49208$14726298@news.sunsite.dk...
>> Hvordan får jeg trukket ip adressen ud, i stringen er der før ip adressen
>> "WAN.[11;7H00:A0:C5:60:B5:75.[11;29H" og dette efter ".[11;45H"
>
> Så længe, der ikke er andet i strengen, der ligner en IP-adresse, behøver
> du ikke forholde dig til det, du ikke skal bruge. /((\d+\.){3}\d+)/ skulle
> virke fint.
>

Det har jeg har både WAN, LAN og 2 netmasker, men det er den første
ipadresse jeg skal bruge!

mvh
Allan



Michael Zedeler (14-10-2006)
Kommentar
Fra : Michael Zedeler


Dato : 14-10-06 14:06

Allan Kok wrote:
> Jeg har i et script, hvor jeg telnetter min router for at fange dens wan ip
> adresse.
>
> Hvordan får jeg trukket ip adressen ud, i stringen er der før ip adressen
> "WAN.[11;7H00:A0:C5:60:B5:75.[11;29H" og dette efter ".[11;45H"

Jeg kan godt lave sådan en regex til dig, men det er nødvendigt at du er
meget mere specifik med hensyn til hvad der skal hives ud og hvordan de
øvrige dele kan variere.

Har du læst perlre-man-siden?

Hvad for forsøg har du gjort selv?

Mvh. Michael.
--
Which is more dangerous? TV guided missiles or TV guided families?
I am less likely to answer usenet postings by anonymous authors.
Visit my home page at http://michael.zedeler.dk/

Allan Kok (15-10-2006)
Kommentar
Fra : Allan Kok


Dato : 15-10-06 16:46


"Michael Zedeler" <michael@zedeler.dk> skrev i en meddelelse
news:Ng5Yg.223$sr1.206@news.get2net.dk...
> Allan Kok wrote:
>> Jeg har i et script, hvor jeg telnetter min router for at fange dens wan
>> ip adresse.
>>
>> Hvordan får jeg trukket ip adressen ud, i stringen er der før ip adressen
>> "WAN.[11;7H00:A0:C5:60:B5:75.[11;29H" og dette efter ".[11;45H"
>
> Jeg kan godt lave sådan en regex til dig, men det er nødvendigt at du er
> meget mere specifik med hensyn til hvad der skal hives ud og hvordan de
> øvrige dele kan variere.
>
> Har du læst perlre-man-siden?
>
> Hvad for forsøg har du gjort selv?
>

Da jeg kun har meget lille erfaring i både perl og regex. Er mine forsøg
endt med dette
$output =~ /((\d+\.){3}\d+)/;

I den tekst string jeg hiver ud fra telnet inde holder 2 ipadresser og 2
subnet adresser. Jeg skal have fat i den første!

Allan



Michael Zedeler (15-10-2006)
Kommentar
Fra : Michael Zedeler


Dato : 15-10-06 16:55

Allan Kok wrote:
> "Michael Zedeler" <michael@zedeler.dk> skrev i en meddelelse
> news:Ng5Yg.223$sr1.206@news.get2net.dk...
>
>>Allan Kok wrote:
>>
>>>Jeg har i et script, hvor jeg telnetter min router for at fange dens wan
>>>ip adresse.
>>>
>>>Hvordan får jeg trukket ip adressen ud, i stringen er der før ip adressen
>>>"WAN.[11;7H00:A0:C5:60:B5:75.[11;29H" og dette efter ".[11;45H"
>>
>>Jeg kan godt lave sådan en regex til dig, men det er nødvendigt at du er
>>meget mere specifik med hensyn til hvad der skal hives ud og hvordan de
>>øvrige dele kan variere.
>>
>>Har du læst perlre-man-siden?
>>
>>Hvad for forsøg har du gjort selv?
>
> Da jeg kun har meget lille erfaring i både perl og regex. Er mine forsøg
> endt med dette
> $output =~ /((\d+\.){3}\d+)/;
>
> I den tekst string jeg hiver ud fra telnet inde holder 2 ipadresser og 2
> subnet adresser. Jeg skal have fat i den første!

Din regex ovenfor ser da rimeligt god ud. Hvad er problemet? Du får godt
nok nogle delstrenge med ud, fordi du ikke får sagt til perl at den
indre gruppe ikke skal bruges til matches. Det kan man undgå med ?: -
sådan her:

((?:\d+\.){3}\d+)

Så hvis du i perl har at $input = 'fphfeiufhwewf127.0.0.1fwefefefe',
skulle du meget gerne fange ip-adressen med:

($ip) = $input =~ /((?:\d+\.){3}\d+)/;

Men igen - det er væsentligt at du tager i betragtning hvad $input
ellers indeholder, så du ikke fanger noget forkert.

Mvh. Michael.
--
Which is more dangerous? TV guided missiles or TV guided families?
I am less likely to answer usenet postings by anonymous authors.
Visit my home page at http://michael.zedeler.dk/

Allan Kok (15-10-2006)
Kommentar
Fra : Allan Kok


Dato : 15-10-06 17:34


"Michael Zedeler" <michael@zedeler.dk> skrev i en meddelelse
news:nRsYg.60$RC6.59@news.get2net.dk...
> Allan Kok wrote:
>> "Michael Zedeler" <michael@zedeler.dk> skrev i en meddelelse
>> news:Ng5Yg.223$sr1.206@news.get2net.dk...
>>
>>>Allan Kok wrote:
>>>
>>>>Jeg har i et script, hvor jeg telnetter min router for at fange dens wan
>>>>ip adresse.
>>>>
>>>>Hvordan får jeg trukket ip adressen ud, i stringen er der før ip
>>>>adressen "WAN.[11;7H00:A0:C5:60:B5:75.[11;29H" og dette efter ".[11;45H"
>>>
>>>Jeg kan godt lave sådan en regex til dig, men det er nødvendigt at du er
>>>meget mere specifik med hensyn til hvad der skal hives ud og hvordan de
>>>øvrige dele kan variere.
>>>
>>>Har du læst perlre-man-siden?
>>>
>>>Hvad for forsøg har du gjort selv?
>>
>> Da jeg kun har meget lille erfaring i både perl og regex. Er mine forsøg
>> endt med dette
>> $output =~ /((\d+\.){3}\d+)/;
>>
>> I den tekst string jeg hiver ud fra telnet inde holder 2 ipadresser og 2
>> subnet adresser. Jeg skal have fat i den første!
>
> Din regex ovenfor ser da rimeligt god ud. Hvad er problemet? Du får godt
> nok nogle delstrenge med ud, fordi du ikke får sagt til perl at den indre
> gruppe ikke skal bruges til matches. Det kan man undgå med ?: - sådan her:
>
> ((?:\d+\.){3}\d+)
>
> Så hvis du i perl har at $input = 'fphfeiufhwewf127.0.0.1fwefefefe',
> skulle du meget gerne fange ip-adressen med:
>
> ($ip) = $input =~ /((?:\d+\.){3}\d+)/;
>
> Men igen - det er væsentligt at du tager i betragtning hvad $input ellers
> indeholder, så du ikke fanger noget forkert.
>

Tak det virkede, jeg havde ikke ($ip) = med.

Allan



Michael Zedeler (15-10-2006)
Kommentar
Fra : Michael Zedeler


Dato : 15-10-06 19:08

Allan Kok wrote:
> "Michael Zedeler" <michael@zedeler.dk> skrev i en meddelelse
> news:nRsYg.60$RC6.59@news.get2net.dk...
>
>>($ip) = $input =~ /((?:\d+\.){3}\d+)/;
>
> Tak det virkede, jeg havde ikke ($ip) = med.

Så er det ikke regulære udtryk, men perl, du var i karambolage med.

Mvh. Michael.
--
Which is more dangerous? TV guided missiles or TV guided families?
I am less likely to answer usenet postings by anonymous authors.
Visit my home page at http://michael.zedeler.dk/

Søg
Reklame
Statistik
Spørgsmål : 177416
Tips : 31962
Nyheder : 719565
Indlæg : 6407858
Brugere : 218876

Månedens bedste
Årets bedste
Sidste års bedste