Thread Storable für Regulären Ausdruck
(6 answers)
Opened by Mikmak at 2009-12-12 02:49
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. |