| Thread (Message) | Date | Author |
Score |
Board |
| RegEx: optionale Matches an Subroutine weitergeben
(#99997) |
2007-09-26 08:40 |
esskar
|
 |
Allgemeines zu Perl |
| [code]
my @values = $string =~ m!\[(([\w]+)\s*:\s*([\w\d\.]+))+\]!g;
&bild(@values) if scalar @values;
[/code]
(ungetest) |
|
| RegEx: optionale Matches an Subroutine weitergeben
(#100028) |
2007-09-26 22:08 |
Froschpopo
|
 |
Allgemeines zu Perl |
| habs getestet:
[code]
#!/usr/bin/perl
use strict;
my $string = "Das ist Martin: [BILD=martin.gif]";
my @values = $string =~ m!\[(([\w]+)\s*=\s*([\w\d.]+))+\]!g;
&parse(@values) if… |
|
| RegEx: optionale Matches an Subroutine weitergeben
(#100029) |
2007-09-26 22:12 |
topeg
|
 |
Allgemeines zu Perl |
| ändere es mal so:
[perl]my @values = $string =~ m!\[(?:(\w+?)\s*=\s*(.+?)\s*)+\]!gs;[/perl] |
|
| RegEx: optionale Matches an Subroutine weitergeben
(#100030) |
2007-09-26 22:18 |
Froschpopo
|
 |
Allgemeines zu Perl |
| [code]
#!/usr/bin/perl
use strict;
my $string = "Das ist Martin: [BILD=martin.gif NAME=test NAME2=hallo]";
my @values = $string =~ m!\[(?:(\w+?)\s*=\s*(.+?)\s*)+\]!gs;
&parse(@values) if… |
|
| RegEx: optionale Matches an Subroutine weitergeben
(#100033) |
2007-09-26 22:30 |
topeg
|
 |
Allgemeines zu Perl |
| Dann versuchen wir es mal so:
[perl]my @values = split(/\s*=\s*|\s+/, ($string =~ m!\[(.+?)\]!s)[0]);[/perl] |
|
| RegEx: optionale Matches an Subroutine weitergeben
(#100034) |
2007-09-26 22:32 |
Froschpopo
|
 |
Allgemeines zu Perl |
| Sehr schick!! Jetzt funktioniert es! Du bist ein wahrer Könner ;)
Jetzt noch eine Kleinigkeit:
Ich möchte gern Leerzeichen, etwa bei einer Description einsetzen können:
[code]… |
|
| RegEx: optionale Matches an Subroutine weitergeben
(#100037) |
2007-09-26 22:54 |
topeg
|
 |
Allgemeines zu Perl |
| Na dann halt so. :-)
[perl]my @values = map{split(/\s+(?=\w+$)/,$_)}split(/\s*=\s*/, ($string =~ m!\[(.+?)\]!s)[0]);[/perl] |
|
| RegEx: optionale Matches an Subroutine weitergeben
(#100039) |
2007-09-26 23:02 |
Froschpopo
|
 |
Allgemeines zu Perl |
| Super, funktioniert auch.
Aber nun eine neue Problematik:
[code]
#!/usr/bin/perl
use strict;
my $string = 'Das ist Martin: [BILD=martin.gif NAME="asd ass as" NAME2=hallo]';
my @values =… |
|
| RegEx: optionale Matches an Subroutine weitergeben
(#100041) |
2007-09-26 23:11 |
topeg
|
 |
Allgemeines zu Perl |
| so:
[perl]$string=~s!\[(.+?)\]!parse(map{split(/\s+(?=\w+$)/,$_)}split(/\s*=\s*/,$1))!gse;[/perl] |
|
| RegEx: optionale Matches an Subroutine weitergeben
(#100043) |
2007-09-26 23:24 |
Froschpopo
|
 |
Allgemeines zu Perl |
| [code]
#!/usr/bin/perl
use strict;
my $string = 'Das ist Martin: [BILD=martin.gif NAME="asd ass as" NAME2=hallo]';
$string =… |
|
| RegEx: optionale Matches an Subroutine weitergeben
(#100044) |
2007-09-26 23:42 |
topeg
|
 |
Allgemeines zu Perl |
| Ein Leerzeichen zu viel. So:
[code]$string =~s![/code]
nicht so;
[code]$string = ~s![/code] |
|
| RegEx: optionale Matches an Subroutine weitergeben
(#100045) |
2007-09-27 00:19 |
Froschpopo
|
 |
Allgemeines zu Perl |
| Super!
Weiter gehts:
[code]
my $string = 'Das ist Martin: [LINK="http://www.test.de" TARGET=_blank]klick hier[/LINK]';
[/code]
Nun haben wir einmal wie gehabt die Parameter im öffnenden Tag… |
|
| RegEx: optionale Matches an Subroutine weitergeben
(#100046) |
2007-09-27 00:48 |
topeg
|
 |
Allgemeines zu Perl |
| … du sowas?
[code]#!/usr/bin/perl
use strict;
use warnings;
sub parse_link {
# $_=~s/^['"]|["']$//gs for(@_);
my %params = @_;
print "$_ = ".$params{$_}."\n" for keys %params… |
|
| RegEx: optionale Matches an Subroutine weitergeben
(#100047) |
2007-09-27 01:03 |
Froschpopo
|
 |
Allgemeines zu Perl |
| Aber der Code parst ja jetzt wieder NUR den Link.
Ich habe nach wie vor auch noch StandAlone-Tags, wie z.b. <img>. |
|
| RegEx: optionale Matches an Subroutine weitergeben
(#100049) |
2007-09-27 07:49 |
topeg
|
 |
Allgemeines zu Perl |
| achso.
Du willst sowas:
[code]#!/usr/bin/perl
use strict;
use warnings;
sub parse {
my %params = @_;
print "$_ = ".$params{$_}."\n" for keys %params; print "#####\n"… |
|
| RegEx: optionale Matches an Subroutine weitergeben
(#100095) |
2007-09-28 06:19 |
Froschpopo
|
 |
Allgemeines zu Perl |
| Das ist sehr sehr gut und funktioniert sogar!
Aber jetzt habe ich noch letztes Problem mit folgenden Alleinstehenden-Tags:
[code]
[ZITAT]Dies ist ein Zitat[/ZITAT]
oder:
[HEADLINE]Dies ist… |
|
| RegEx: optionale Matches an Subroutine weitergeben
(#100152) |
2007-09-28 23:56 |
topeg
|
 |
Allgemeines zu Perl |
| … sollte Funktionieren:
[code]#!/usr/bin/perl
use strict;
use warnings;
sub parse
{
my %params = @_;
# my @l=@_; print join('|',@l)."\n----\n";
print "$_ = ".$params{$_}."\n" for keys… |
|
| RegEx: optionale Matches an Subroutine weitergeben
(#100154) |
2007-09-29 01:39 |
Froschpopo
|
 |
Allgemeines zu Perl |
| Aber wir sollten vorher checken, warum das nicht zuverlässig funktioniert.
hast du herausgefunden WANN dieser Zufall eintritt?
Es verwirrt mich wenn wir eine neue Funktion einfügen und die alte… |
|
| RegEx: optionale Matches an Subroutine weitergeben
(#100155) |
2007-09-29 01:54 |
topeg
|
 |
Allgemeines zu Perl |
| Die Regexp ist schlecht gebaut. Ich werde mich am Wochenende nochmal damit beschäftigen. Ich vermute Meine Konstruktion ist so ungewöhnlich, dass der RegexpParser durch einander kommt. |
|
| RegEx: optionale Matches an Subroutine weitergeben
(#100156) |
2007-09-29 02:01 |
topeg
|
 |
Allgemeines zu Perl |
| Habe schon eine Idee woran es liegen könnte. Aber Morgen mehr. |