Thread Klammern in regulärem Ausdruck (2 answers)
Opened by false_friend at 2012-01-26 21:42

false_friend
 2012-01-26 21:42
#155720 #155720
User since
2011-03-21
24 Artikel
BenutzerIn
[default_avatar]
Liebe Perl-Community,

ich habe heute begonnen einen webbasierten Vokabeltrainer zu schreiben. Das Skript wählt zufällig eine Vokabel aus einem Vokabel-Textfile und fragt sie ab. Ab dem zweiten Aufruf kriegt das Skript per POST das zuletzt abgefragte Wortpaar, um im Vokabel-Textfile zu notieren, dass das Wortpaar jetzt schon einmal mehr abgefragt wurde. Dieses Notieren bedeutet, dass es aus einer Zeile wie house - Haus - 17 die Zeile house - Haus - 18 machen soll.

Meine Methode funktioniert auch gut. Nur bei Vokabeln, die Klammern enthalten, gibt es ein Problem. Ich will versuchen, mein Problem mit folgendem minimalen Code zu veranschaulichen:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/usr/bin/perl 

use strict;

my $letztes_wort = "elusive";
my $letztes_wort_uebersetzung = "schwer zu fassen; (Begriff) schwer zu definieren";

foreach (<DATA>) {
chomp ($_);
if (/$letztes_wort - $letztes_wort_uebersetzung/) {
print "gefunden!";
}
}

__DATA__
elusive - schwer zu fassen; (Begriff) schwer zu definieren
defiance - Trotz, Missachtung
indignation - Entrüstung, Empörung


Für defiance und indignation funktioniert das System, nur bei elusive schlägt der reguläre Ausdruck wegen der Klammer nicht an.

Könnt ihr mir helfen, das Skript zu reparieren?
Last edited: 2012-01-26 21:44:54 +0100 (CET)

View full thread Klammern in regulärem Ausdruck