mal wieder: reguläre Ausdrücke (slightly OT)

2004-07-20 Diskussionsfäden Gebhard Dettmar
Liebe Liste,
ich habe hier eine Diss., die ich für den deGruyter-Verlag formatieren
soll (nach deren .dot-Template). Im (wie bei Diss. heutzutage üblich
30 seitigen) Literaturverzeichnis stehen alle Angaben so:
---schnipp---
Eiselen, W M [1934]
1967Christianity and the religious life of the Bantu. In
Schapera, I (ed), Western civilization and the 
natives of South Africa. London: Routledge and Kegan Paul.
---schnapp---
Nun sollen die Initialen der Vornamen mit Punkten versehen werden,
also Eiselen, W. M.
Dazu habe ich das Verzeichnis als txt-File mit Zeilenumbrüchen
gespeichert und im vim
:1,$s/\([A-Z]\) /\1. /g
geschrieben.
Jetzt macht er das komischerweise passim, also an manchen Stellen ja,
an anderen nicht (insg. 331mal)
Ich kann auch kein Muster ausmachen, a la, er ersetzt nur den 1. aber
nicht den 2. oder dergleichen
Dann dachte ich noch an die DOS ^Ms, obwohl ich nicht sehe, wo die
hier stören sollten. Da ich die eh auch aus meinen html-Dateien
raushaben wollte, habe ich sie mit
find . -name *.* -exec perl -pi -e 's/\r\n/\n/' {} \;
rausgeschmissen. less -u zeigt also nichts mehr an, am ergebnis ändert
sich natürlich nichts.
Mit anderen Worten: ich habe keine Ahnung. Liegt der Fehler bei mir
(dann müsste ich aber m.E. irgendein Muster bei den nicht gematchten
Fällen ausmachen können) oder ist da noch irgendein Windows-Zeugs im
Spiel?
Weiß jemand Rat?
thanks in advance
Gebhard
p.s. wenn ich auf dem Uni-Webserver html-Dateien im vi editiere, sehe
ich ^Ms, bei mir lokal aber nicht. Gibt's irgendwo in der .exrc dazu
eine Option a la: set dos carriage returns visible? (Finde bei google
nur, wie man sie löscht, nicht wie man sie sichtbar macht)




reguläre Ausdrücke

2004-06-05 Diskussionsfäden Toni
Hallo
Hab mich gerade etwas mit den regulären Ausdrücken beschäftigt. Nur 
blick ich da nicht ganz daurch.
Also suchen geht schon halbwegs aber auch nur Zeilenweise mit grep. Habs 
auch im vi mit Google versucht aber den check ich nicht.

Mein Problem ist das ich nem html File gewisse Formatierungen löschen 
will und es zu mühsam ist das ganze file (160kB) durchzussehen. Das 
konkrete Promlem sieht so aus:

font class=xya href=link#sprungmarkeText/a/font
Dieser Eintrag kommt X-mal vor und sieht bis auf die Sprungmarke und den 
Text identisch aus. Wie schaff ich es nun das jeweils mit nur dem Text 
zu ersetzen.

ciao
Toni
--
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)


Re: reguläre Ausdrücke

2004-06-05 Diskussionsfäden Michael Kebe
Toni wrote:
Hallo
Hab mich gerade etwas mit den regulären Ausdrücken beschäftigt. Nur 
blick ich da nicht ganz daurch.
Also suchen geht schon halbwegs aber auch nur Zeilenweise mit grep. Habs 
auch im vi mit Google versucht aber den check ich nicht.

Mein Problem ist das ich nem html File gewisse Formatierungen löschen 
will und es zu mühsam ist das ganze file (160kB) durchzussehen. Das 
konkrete Promlem sieht so aus:

font class=xya href=link#sprungmarkeText/a/font
Dieser Eintrag kommt X-mal vor und sieht bis auf die Sprungmarke und den 
Text identisch aus. Wie schaff ich es nun das jeweils mit nur dem Text 
zu ersetzen.

ciao
Toni

Wie wäre es mit
:%s/font class=xya href=link#.*\(.*\)\/a\/font/\1/
in vim. (keine garantie).
Gruss
Michael
--
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)


Re: reguläre Ausdrücke

2004-06-05 Diskussionsfäden Klaus Becker
On Saturday 05 June 2004 14:23, Michael Kebe wrote:
 Toni wrote:
  Hallo
 
  Hab mich gerade etwas mit den regulären Ausdrücken beschäftigt. Nur
  blick ich da nicht ganz daurch.
  Also suchen geht schon halbwegs aber auch nur Zeilenweise mit grep. Habs
  auch im vi mit Google versucht aber den check ich nicht.
 
  Mein Problem ist das ich nem html File gewisse Formatierungen löschen
  will und es zu mühsam ist das ganze file (160kB) durchzussehen. Das
  konkrete Promlem sieht so aus:
 
  font class=xya href=link#sprungmarkeText/a/font
 
  Dieser Eintrag kommt X-mal vor und sieht bis auf die Sprungmarke und den
  Text identisch aus. Wie schaff ich es nun das jeweils mit nur dem Text
  zu ersetzen.
 
  ciao
  Toni

quanta+ kann so etwas auch, wie ein Textverarbeitungsprogramm

Klaus



[SOLVED] reguläre Ausdrücke

2004-06-05 Diskussionsfäden Toni
Klaus Becker schrieb:
On Saturday 05 June 2004 14:23, Michael Kebe wrote:
 

Toni wrote:
   

Hallo
Hab mich gerade etwas mit den regulären Ausdrücken beschäftigt. Nur
blick ich da nicht ganz daurch.
Also suchen geht schon halbwegs aber auch nur Zeilenweise mit grep. Habs
auch im vi mit Google versucht aber den check ich nicht.
Mein Problem ist das ich nem html File gewisse Formatierungen löschen
will und es zu mühsam ist das ganze file (160kB) durchzussehen. Das
konkrete Promlem sieht so aus:
font class=xya href=link#sprungmarkeText/a/font
Dieser Eintrag kommt X-mal vor und sieht bis auf die Sprungmarke und den
Text identisch aus. Wie schaff ich es nun das jeweils mit nur dem Text
zu ersetzen.
ciao
Toni
 

quanta+ kann so etwas auch, wie ein Textverarbeitungsprogramm
Klaus
Ich glaub den quanta+ werd ich mir mal anschauen so oft wie der schon 
empfohlen wurde ;o)
Die Lösung funkt (mitunter) mit:

sed -e 's/font class=xya href=link#.*\(.*\)\/a\/font/\1/'
Danke an alle
ciao Toni
--
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)


Re: [SOLVED] reguläre Ausdrücke

2004-06-05 Diskussionsfäden Rudi Effe
Am Samstag 05 Juni 2004 14:45 schrieb Toni:
 sed -e 's/font class=xya href=link#.*\(.*\)\/a\/font/\1/'

sed ist sicher die beste Wahl - alternativ könntest du auch xsltproc 
verwenden. Das ist aber in Quanta integriert...

Gruß
rUdi



Re: (mal wieder) reguläre Ausdrücke

2004-02-23 Diskussionsfäden Christoph Bersch
Thorsten Haude schrieb:
 Moin,
 
 * Julius Plenz wrote (2004-02-22 21:07):
* Thorsten Haude [EMAIL PROTECTED] wrote:
 Das würde alles zwischen der ersten und letzten Klammer löschen.

So besser?

510,pts/8,0,[home/julius]$ cat test | sed -e 's/\[[^]]*\]//g'
Hallo, das ist ein 
Und auch mal ein  Leerzeichen sollte nicht fehlen.
 
 Hm, scheinbar hat's ja auch beim ersten mal funktioniert, ich würde
 mich halt nur nicht darauf verlassen wollen.

Hi!

Soweit ich weiss, matcht der Punkt nicht auf ein \n, und damit ging es
im ersten Beispiel trotzdem, da dort nur ein Klammernpaar pro Zeile auftrat

Grüße
Christoph


-- 
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)



Re: (mal wieder) reguläre Ausdrücke

2004-02-23 Diskussionsfäden Thorsten Haude
Moin,

Schick mir doch bitte jede Mail nur einmal.


Thorsten
-- 
Golly, I'd hate to have a kid like me!
- Calvin


pgp0.pgp
Description: PGP signature


Re: (mal wieder) reguläre Ausdrücke

2004-02-23 Diskussionsfäden Christoph Bersch
Thorsten Haude schrieb:
 Moin,
 
 Schick mir doch bitte jede Mail nur einmal.

Eigentlich schicke ich nur an die Liste, hatte mich leider 'verklickst'...
Sorry :-)

Grüße
Christoph (f'up falls nötig)


-- 
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)



(mal wieder) reguläre Ausdrücke

2004-02-22 Diskussionsfäden Gebhard Dettmar
Liebe DebianerInnen,
ich möchte einen Text, den ich mit in eckigen Klammern eingefügtem
Kommentar versehen habe, in einen text einfügen, aber ohne den
Kommentar. Der text soll also von allen Vorkommnissen a la [hier steht
Text], [hier auch] etc. befreit werden.
Im VI schreibe ich dann
:g/[/s/[a-zA-Z]\{1,90\}//g
was mache ich hier falsch?
Dann habe ich es noch mit sed probiert
sed 's/\[.*]//g' myfile newfile
+ div. Varianten mit und ohne Escapezeichen vor [
und angepassten Beispielen aus Andreas Schmidts Beitrag vom 27. Januar
http://www.mail-archive.com/[EMAIL PROTECTED]/msg682
44.html
Hab's nicht zustande gebracht ;-(
Ich will also, wie gesagt, eine beliebige Zeichenkette, die beliebig
oft auftaucht und nur dadurch beschränkt ist, dass sie in eckigen
Klammern stehen muss, löschen.
Für Hinweise dankt
gebhard




--
Haeufig gestellte Fragen und Antworten (FAQ):
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)



Re: (mal wieder) reguläre Ausdrücke

2004-02-22 Diskussionsfäden Julius Plenz
* Gebhard Dettmar [EMAIL PROTECTED] wrote:
 Liebe DebianerInnen,
 ich möchte einen Text, den ich mit in eckigen Klammern eingefügtem
 Kommentar versehen habe, in einen text einfügen, aber ohne den
 Kommentar. Der text soll also von allen Vorkommnissen a la [hier steht
 Text], [hier auch] etc. befreit werden.
 Im VI schreibe ich dann
 :g/[/s/[a-zA-Z]\{1,90\}//g
 was mache ich hier falsch?
 Dann habe ich es noch mit sed probiert
 sed 's/\[.*]//g' myfile newfile
 + div. Varianten mit und ohne Escapezeichen vor [
 und angepassten Beispielen aus Andreas Schmidts Beitrag vom 27. Januar
 http://www.mail-archive.com/[EMAIL PROTECTED]/msg682
 44.html
 Hab's nicht zustande gebracht ;-(
 Ich will also, wie gesagt, eine beliebige Zeichenkette, die beliebig
 oft auftaucht und nur dadurch beschränkt ist, dass sie in eckigen
 Klammern stehen muss, löschen.

Mal davon ausgehend, dass ich dich nicht falsch verstanden habe, sollte
folgendes für Dich funktionieren:

508,pts/8,0,[home/julius]$ cat test 
Hallo, das ist ein [Test]
Und auch mal ein [Test mit] Leerzeichen sollte nicht fehlen.
509,pts/8,0,[home/julius]$ cat test | sed -e 's/\[.*\]//g'
Hallo, das ist ein 
Und auch mal ein  Leerzeichen sollte nicht fehlen.

Vielleicht ist das genau das, was Du willst.

 gebhard

Julius
-- 
Julius Plenz, [EMAIL PROTECTED]  HP: plenz.com  ICQ#129455376  PGP: 0x186DCA0D
lynx -dump plenz.com/pgpkey | grep -v ' Get ' | sed '0,2d' | gpg --import
whois plenz.com | sed 's/\[a.*\] //'| egrep '^([fl]n|add|em|c[io]|p[^r])'
Das Licht am Ende des Tunnels ist ein entgegenkommender Zug.  (Unbekannt)


-- 
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)



Re: (mal wieder) reguläre Ausdrücke

2004-02-22 Diskussionsfäden Mathias Klein
Hallo Gebhard,

On Sun, Feb 22, 2004 at 08:48:39PM +0100, Gebhard Dettmar wrote:
 Liebe DebianerInnen,
 ich möchte einen Text, den ich mit in eckigen Klammern eingefügtem
 Kommentar versehen habe, in einen text einfügen, aber ohne den
 Kommentar. Der text soll also von allen Vorkommnissen a la [hier steht
 Text], [hier auch] etc. befreit werden.
 Im VI schreibe ich dann
 :g/[/s/[a-zA-Z]\{1,90\}//g
 was mache ich hier falsch?
 Dann habe ich es noch mit sed probiert
 sed 's/\[.*]//g' myfile newfile
 + div. Varianten mit und ohne Escapezeichen vor [

sed 's/\[.*\]//g' myfile newfile
   ^
Hast Du die schießende Klammer auch escaped in einem Deiner Versuche?

 und angepassten Beispielen aus Andreas Schmidts Beitrag vom 27. Januar
 http://www.mail-archive.com/[EMAIL PROTECTED]/msg682
 44.html
 Hab's nicht zustande gebracht ;-(
 Ich will also, wie gesagt, eine beliebige Zeichenkette, die beliebig
 oft auftaucht und nur dadurch beschränkt ist, dass sie in eckigen
 Klammern stehen muss, löschen.
 Für Hinweise dankt
 gebhard

Grüße
Mathias


signature.asc
Description: Digital signature


Re: (mal wieder) reguläre Ausdrücke

2004-02-22 Diskussionsfäden Thorsten Haude
Moin,

* Julius Plenz wrote (2004-02-22 20:55):
 ich möchte einen Text, den ich mit in eckigen Klammern eingefügtem
 Kommentar versehen habe, in einen text einfügen, aber ohne den
 Kommentar. Der text soll also von allen Vorkommnissen a la [hier steht
 Text], [hier auch] etc. befreit werden.

Mal davon ausgehend, dass ich dich nicht falsch verstanden habe, sollte
folgendes für Dich funktionieren:

508,pts/8,0,[home/julius]$ cat test 
Hallo, das ist ein [Test]
Und auch mal ein [Test mit] Leerzeichen sollte nicht fehlen.
509,pts/8,0,[home/julius]$ cat test | sed -e 's/\[.*\]//g'
Hallo, das ist ein 
Und auch mal ein  Leerzeichen sollte nicht fehlen.

Vielleicht ist das genau das, was Du willst.

Das würde alles zwischen der ersten und letzten Klammer löschen.


Thorsten
-- 
If you have any trouble sounding condescending,
find a Unix user to show you how it is done.
- Scott Adams


pgp0.pgp
Description: PGP signature


Re: (mal wieder) reguläre Ausdrücke

2004-02-22 Diskussionsfäden Julius Plenz
* Thorsten Haude [EMAIL PROTECTED] wrote:
 Moin,
 
 * Julius Plenz wrote (2004-02-22 20:55):
  ich möchte einen Text, den ich mit in eckigen Klammern eingefügtem
  Kommentar versehen habe, in einen text einfügen, aber ohne den
  Kommentar. Der text soll also von allen Vorkommnissen a la [hier steht
  Text], [hier auch] etc. befreit werden.
 
 Mal davon ausgehend, dass ich dich nicht falsch verstanden habe, sollte
 folgendes für Dich funktionieren:
 
 508,pts/8,0,[home/julius]$ cat test 
 Hallo, das ist ein [Test]
 Und auch mal ein [Test mit] Leerzeichen sollte nicht fehlen.
 509,pts/8,0,[home/julius]$ cat test | sed -e 's/\[.*\]//g'
 Hallo, das ist ein 
 Und auch mal ein  Leerzeichen sollte nicht fehlen.
 
 Vielleicht ist das genau das, was Du willst.
 
 Das würde alles zwischen der ersten und letzten Klammer löschen.

So besser?

510,pts/8,0,[home/julius]$ cat test | sed -e 's/\[[^]]*\]//g'
Hallo, das ist ein 
Und auch mal ein  Leerzeichen sollte nicht fehlen.

 Thorsten

Julius
-- 
Julius Plenz, [EMAIL PROTECTED]  HP: plenz.com  ICQ#129455376  PGP: 0x186DCA0D
lynx -dump plenz.com/pgpkey | grep -v ' Get ' | sed '0,2d' | gpg --import
whois plenz.com | sed 's/\[a.*\] //'| egrep '^([fl]n|add|em|c[io]|p[^r])'
Das Licht am Ende des Tunnels ist ein entgegenkommender Zug.  (Unbekannt)


signature.asc
Description: Digital signature


WG: (mal wieder) reguläre Ausdrücke

2004-02-22 Diskussionsfäden Alexander Jesner

Hallo!

Liebe DebianerInnen,
ich möchte einen Text, den ich mit in eckigen Klammern eingefügtem
Kommentar versehen habe, in einen text einfügen, aber ohne den
Kommentar. Der text soll also von allen Vorkommnissen a la [hier steht
Text], [hier auch] etc. befreit werden.
Im VI schreibe ich dann
:g/[/s/[a-zA-Z]\{1,90\}//g
was mache ich hier falsch?
Dann habe ich es noch mit sed probiert
sed 's/\[.*]//g' myfile newfile
+ div. Varianten mit und ohne Escapezeichen vor [
und angepassten Beispielen aus Andreas Schmidts Beitrag vom 27. Januar
http://www.mail-archive.com/[EMAIL PROTECTED]/msg682
44.html
Hab's nicht zustande gebracht ;-(
Ich will also, wie gesagt, eine beliebige Zeichenkette, die beliebig
oft auftaucht und nur dadurch beschränkt ist, dass sie in eckigen
Klammern stehen muss, löschen.
Für Hinweise dankt
Gebhard


Probier mal


s/\[\s*[\w+\s*]+\s*\]//g   (und noch den zeilenumbruchswitch, s glaub
ich)




-- 
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an
[EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an
[EMAIL PROTECTED] (engl)



--
Haeufig gestellte Fragen und Antworten (FAQ):
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)



Re: (mal wieder) reguläre Ausdrücke

2004-02-22 Diskussionsfäden Thorsten Haude
Moin,

* Julius Plenz wrote (2004-02-22 21:07):
* Thorsten Haude [EMAIL PROTECTED] wrote:
 Das würde alles zwischen der ersten und letzten Klammer löschen.

So besser?

510,pts/8,0,[home/julius]$ cat test | sed -e 's/\[[^]]*\]//g'
Hallo, das ist ein 
Und auch mal ein  Leerzeichen sollte nicht fehlen.

Hm, scheinbar hat's ja auch beim ersten mal funktioniert, ich würde
mich halt nur nicht darauf verlassen wollen.


Thorsten
-- 
If people had understood how patents would be granted when most
of today's ideas were invented and had taken out patents, the
industry would be at a complete stand-still today.
- Bill Gates


pgp0.pgp
Description: PGP signature


Re: (mal wieder) reguläre Ausdrücke

2004-02-22 Diskussionsfäden Jan Sechser
hi Dettmar,

Am Sonntag, 22. Februar 2004 20.48 schrieb Gebhard Dettmar:
 Liebe DebianerInnen,
 ich möchte einen Text, den ich mit in eckigen Klammern eingefügtem
 Kommentar versehen habe, in einen text einfügen, aber ohne den
 Kommentar. Der text soll also von allen Vorkommnissen a la [hier steht
 Text], [hier auch] etc. befreit werden.

ich würde für das von anfang an perl benutzten ;-]]

hier ein funktionierendes script :

#!/usr/bin/perl

while(){
$text .= $_
}
$text =~ s/\[[^]]*\]//mg;
print $text;

wichtig für die linien-übergreifenden substitutes ist das multiline flag, und 
dass der ganze text (alle linien) in einem schubs an die regex übergeben 
werden.

cheers
jan


--
Haeufig gestellte Fragen und Antworten (FAQ):
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)



Re: OT Perl reguläre Ausdrücke

2003-02-19 Diskussionsfäden Joerg Zimmermann
Jan Trippler schrieb am 18.02.2003 21:08:
 On Die, 18 Feb 2003 at 00:33 (+0100), Mario Duve wrote:
 Hallo,
 
 Wie könnte ich folgenden Regulären Ausdruck erweitern,
 damit nicht z.B. 432.444.259.666 eigegeben werden kann?
 Also größer gleich 1, kleiner gleich 254
 
  code
 
 if ($ip =~ /^(\d{1,3}\.){3}\d{1,3}$/) {
  return 1;
 } else {
  return 0;
 }
 
 -
 
 Wie schon geschrieben: Mit RE wohl nicht zu machen. Meine Variante:
 
 my $rc = 0;
 foreach (split /\./, $ip) {
   $rc = 1 unless ($_  255) == $_ and $_;
 }
 
 Jan
 

geht schon mit regex:
if ($ip =~ m/^(\d|[01]?\d\d|2[0-4]\d|25[0-5])\.
(\d|[01]?\d\d|2[0-4]\d|25[0-5])\.
(\d|[01]?\d\d|2[0-4]\d|25[0-5])\.
(\d|[01]?\d\d|2[0-4]\d|25[0-5])$/) {

print \n\nIP = $IP ist eine gültige IP\n;

}

(Bedingungsanteil alles in einer Zeile, oder \CR)

-hth
-Jörg


-- 
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)




Re: OT Perl reguläre Ausdrücke

2003-02-18 Diskussionsfäden Jan Trippler
On Die, 18 Feb 2003 at 00:33 (+0100), Mario Duve wrote:
 Hallo,
 
 Wie könnte ich folgenden Regulären Ausdruck erweitern,
 damit nicht z.B. 432.444.259.666 eigegeben werden kann?
 Also größer gleich 1, kleiner gleich 254
 
  code
 
 if ($ip =~ /^(\d{1,3}\.){3}\d{1,3}$/) {
  return 1;
 } else {
  return 0;
 }
 
 -

Wie schon geschrieben: Mit RE wohl nicht zu machen. Meine Variante:

my $rc = 0;
foreach (split /\./, $ip) {
  $rc = 1 unless ($_  255) == $_ and $_;
}

Jan


-- 
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)




OT Perl reguläre Ausdrücke

2003-02-17 Diskussionsfäden Mario Duve
Hallo,

Wie könnte ich folgenden Regulären Ausdruck erweitern,
damit nicht z.B. 432.444.259.666 eigegeben werden kann?
Also größer gleich 1, kleiner gleich 254

 code

if ($ip =~ /^(\d{1,3}\.){3}\d{1,3}$/) {
 return 1;
} else {
 return 0;
}

-

Gruss, Mario




-- 
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)




Re: OT Perl reguläre Ausdrücke

2003-02-17 Diskussionsfäden Christoph Haas
 Wie könnte ich folgenden Regulären Ausdruck erweitern,
 damit nicht z.B. 432.444.259.666 eigegeben werden kann?
 Also größer gleich 1, kleiner gleich 254
 
  code
 
 if ($ip =~ /^(\d{1,3}\.){3}\d{1,3}$/) {
  return 1;
 } else {
  return 0;
 }
 
 -

Das kannst du leider fast vergessen. Wenn du prüfen willst, ob eine
IP-Adresse gültig ist oder in einem bestimmten Bereich liegt, dann prüfe
lieber jedes Byte einzeln oder benutze Net::Netmask.

Alternativ:

for my $byte ( split(/\./, $ip) )
{
return 0 if $byte  1 or $byte  255;
}
return 1;

 Gruß, Christoph

-- 
~
~
.signature [Modified] 3 lines --100%--3,41 All


-- 
Haeufig gestellte Fragen und Antworten (FAQ): 
http://www.de.debian.org/debian-user-german-FAQ/

Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject unsubscribe. Probleme? Mail an [EMAIL PROTECTED] (engl)