[EMAIL PROTECTED] wrote: > hi > > i created a script to ask user for an input that can be a pattern > right now, i use re to compile that pattern > pat = re.compile(r"%s" %(userinput) ) #userinput is passed from > command line argument > if the user key in a pattern , eg [-] , and my script will search some > lines that contains [-] > > pat.findall(lines) > > but the script produce some error: sre_constants.error: unexpected end > of regular expression
If you feed re.compile() something that is not a valid regexp, it will choke. > how can i successful catch patterns such as "[-]" in my regexp > compilation where input is unknown...? If what you want is to validate that the input is a valid regexp, just try to compile it. In your case (cli argument), there's not much you can do if the arg is not a valid regexp, except printing a message to stderr and sys.exit()ing with a non-zero value. -- bruno desthuilliers python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for p in '[EMAIL PROTECTED]'.split('@')])" -- http://mail.python.org/mailman/listinfo/python-list