Thread Hilfe zu Regex (8 answers)
Opened by rooney10 at 2011-03-22 16:43

Linuxer
 2011-03-22 17:54
#146796 #146796
User since
2006-01-27
3890 Artikel
HausmeisterIn

user image
Hi, bei LaTeX ist die Klammerung mit geschweiften Klammern Syntax-Bestandteil.
Der Test auf "\includegraphic" sollte schon mindestens dazugehören.

Anmerkung zu Deinem Code:
Code (perl): (dl )
1
2
3
4
5
if($c eq '{'){
  $tag = 1;
  # wir sind hier, weil $c gleich '{' ist; so wird $buffer nie gefüllt und die folgende Zeile ist daher überflüssig.
  $buffer .= $c if $c ne '{';
}


Ich würde Deinen Vorschlag so umschreiben...:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
use strict;

my ($buffer, $tag) = ('',0);
my @res = ();

while(read DATA, my $c, 1){
  if($c eq '{'){
    $tag = 1;
  }
  elsif($c eq '}'){
    push @res, $buffer;
    $tag = 0;
    $buffer = '';
  }
  else {
    $buffer .= $c if $tag == 1;
  }
}

print join "\n", @res, "\n";

__DATA__
Hier steht was {irgendwas} und {wieder was} und
in einer neuen Zeile steht {nochwas}. Das wars.
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!

View full thread Hilfe zu Regex