RE: [PHP] sorting an array of regexes

From: Date: Tue, 18 Nov 2003 12:52:39 +0000
Subject: RE: [PHP] sorting an array of regexes
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-170089@lists.php.net to get a copy of this message
> -----Oorspronkelijk bericht----- > Van: Eugene Lee [mailto:list-php-1@fsck.net] > On Tue, Nov 18, 2003 at 01:15:32PM +0100, Adam i Agnieszka > Gasiorowski FNORD wrote: > : > : There is an array of regexes, for example > : > : $array = array('moon', '[wh]ood', '[^as]eed' ... > : (about 300 entries). > : > : I want to sort it comparing to the > : character lenght of a regex. For example > : [wh]ood is 4 characters, moon is 4 characters. > : There are only letters of the alphabet and > : letter ranges present in those regexes. I > : want the "longest" ones first. > : > : How would you write the sorting function? > > This might be the most functionally correct, although it's definitely > not the fastest route. > > function re_len($pat) > { > return strlen(preg_replace('/\[[^]]+]/', '_', $pat)); I think you meant: /\[[^\]]+]/ as regex ;) Not sure, but I think one more block-bracked needed to be escaped ;)

« previous php.general (#170089) next »