/\Option:\s+\(\S+)(?:\s+(\S+))?\s+\*(\S+)(?:\s+(\S+))?\n/
Ich habe es mal so eingesetzt aber so wird garnichts gefunden.
wohl die \n am Schluss
hmm, wäre es vielleicht besser wenn ich zwei unterschiedliche Regex mache?
Einer der immer nur dieses Konstrukt findet.
*Option: *XYDuplex Tackjop *XYInterl HighBinund dann noch ein zweites das nur sowas findet:
*Option: *XYDuplex *XYInterlwas meinst du?
vielen Dank und viele Grüße
hawk
Ich schreibe Perl
Offenbar war die newline am Ende zu viel.
#!C:/Programme/Perl/bin/perl.exe -w
#
use strict;
BEGIN {
use CGI::Carp qw(carpout);
open(LOG, ">>error.txt") or die "Unable to append to error.txt: $!\n";
carpout(*LOG);
}
# my $s="*Opt: *ABC def *GHI jkl ";
my $s="*Opt: *ABC *GHI ";
$s =~ / \*Opt:
\s+\*(\S+)
(?:\s+(\S+))?
\s+\*(\S+)
(?:\s+(\S+))?
/x
and
print $1, '=',$2 || '', '---' , $3,'=',$4 || '', "\n";
sleep(10);
Dies druckt das erwünschte aus.
Protieren musst du selbst nach php
die RE komprimiert:
/\Option:\s+\(\S+)(?:\s+(\S+))?\s+\*(\S+)(?:\s+(\S+))?/
mfg Beat