"Kelie" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED]
Hello,I'm trying to write a regular expression to filter strings that meet the following criteria: 1. Starts with 0-3 underscores; 2. Followed by one letter; 3. Then followed by 0 or more letters or digits or hyphens('-'), 4. Ends with one letter or digit; and 5. There should not be more than one continuous hyphens.This is what I have so far. I think it meets all the criteria except for thelast one. Haven't figured out the answer yet. re.compile(r'_{0,3}[A-Z][A-Z0-9\-]*[A-Z0-9]')
In rule 4, does the string end with an *additional* letter or digit? The string 'A' would seem to fit the rules, but the example provided would fail.
re.compile(r'^_{0,3}[A-Z](?:[A-Z0-9]|-(?!-))*[A-Z0-9]$') # if rule 4 is an additional letter or digit re.compile(r'^_{0,3}[A-Z](?:[A-Z0-9]|-(?!-))*(?<!-)$') # if single-letter strings are allowed
-Mark
_______________________________________________ Tutor maillist - [email protected] http://mail.python.org/mailman/listinfo/tutor
