Thread Storable für Regulären Ausdruck (6 answers)
Opened by Mikmak at 2009-12-12 02:49

topeg
 2009-12-13 21:29
#129336 #129336
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
Ein 20MB Regexp ist äußerst ungewöhnlich und ich würde mir Sorgen machen, ob das nicht an die Grenzen der Möglichkeiten der Regexp-Engiene geht.
Ist es da nicht besser Worte, oder was einen Bezeichner ausmacht, zu splitten und das dann gegen ein Hash mit den Bezeichnern zu prüfen?

ungefähr so:
Code (perl): (dl )
1
2
3
4
5
6
7
8
my %bezeichner=map{($_,1)}('a'..'z'); # oder was für Bezeichner es sonst sind
#...
my @blocks=split(/\s+/,$data); # oder wie es sonst getrennt ist
#...
if(grep{$bezeichner{$_}}(@blocks))
{
  print "gefunden";
}

Das sollte einerseits schneller sein als eine Regexp lässt sich besser warten und du kannst alles in ein Storage packen.

View full thread Storable für Regulären Ausdruck