Hi Shidan! on Wed, 22 Jun 2005 00:28:44 -0400 Shidan <[EMAIL PROTECTED]> wrote : ---------------------------------------------------------------------------------------------
Shidan > Hi I have a list of regular expression patterns like such: Shidan > Shidan > thelist = ['^594694.*','^689.*','^241.*','^241(0[3-9]|1[0145]|2[0-9]|3[0-9]|41|5[1-37]|6[138]|75|8[014579]).*'] Shidan > Shidan > Shidan > Now I want to iterate thru each of these like: Shidan > Shidan > for pattern in thelist: Shidan > regex=re.compile(pattern) Shidan > if regex.match('24110'): Shidan > the_pattern = pattern Shidan > . Shidan > . Shidan > sys.exit(0) Shidan > Shidan > but in this case it will pick thelist[2] and not the list[3] as I wanted to, Shidan > how can I have it pick the pattern that describes it better from the list. Perhaps you can reorder "thelist" in such a way, that the more extact pattern come's first thelist = ['^594694.*','^689.*','^241(0[3-9]|1[0145]|2[0-9]|3[0-9]|41|5[1-37]|6[138]|75|8[014579]).*','^241.*'] So you cann exit if '^241(0[3-9]|1[0145]|2[0-9]|3[0-9]|41|5[1-37]|6[138]|75|8[014579]).*' is found, because here you want 241 followed by the number-combination which is an exacter description as '241.*'. ------------------- end ---------------------- HTH Ewald _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor