PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [Perl] Reguläre Ausdrücke



Alexander
03.08.2004, 19:36
Ich wollte gerne die DNS Server auslesen.



/\bnameserver\s(\d+)\.(\d+)\.(\d+)\.(\d+)\b/


Was mich nun etwas stört ist das an die ip hinten noch mehr dran gehangen werden "könnte".

so sehen die Einträge in der Regel aus.

nameserver 192.168.0.1

Diesen hier würde er aber auch nehmen

nameserver 192.168.0.1.3

Wird zwar nie so kommen nur interessiert mich warum der das so auch akzeptiert?

thorus
03.08.2004, 20:28
Wird zwar nie so kommen nur interessiert mich warum der das so auch akzeptiert?
Naja, dieser Regex macht halt nur den vorderen Teil. Jetzt kommts halt drauf an, ob du die gesamte Zeile, oder nur dieses Match nimmst.
Dahinter noch mit Newline matchen, dann dürfte es gehen. ;)

Steve
04.08.2004, 10:12
m/^nameserver\s(\d+)\.(\d+)\.(\d+)\.(\d+)$/