En Thu, 14 Jun 2007 21:42:02 -0300, Carlos Luis Pérez Alonso <[EMAIL PROTECTED]> escribió:
> I have the next piece of code: > ------------------------------------------------------------------------ > if re.search('^(taskid|bugid):\\d+',logMessage): > return 0 > else: > sys.stderr.write("El comentario tiene que contener el > taskid:#### o el bugid:####") > return 1 > ------------------------------------------------------------------------- > The regular exprexión is "^(taskid|bugid):\\d+" > Mi problem is that if logMessage == "taskid:234" the regular expression > matched teorically, but the result is always "None" and the function > returns 1. For "taskid:234" it matches ok: py> re.search('^(taskid|bugid):\\d+',"taskid:1234") <_sre.SRE_Match object at 0x00ACB1E0> py> re.search('^(taskid|bugid):\\d+',"asdfa fa taskid:1234") py> re.search('^(taskid|bugid):\\d+'," taskid:1234") py> re.search('^(taskid|bugid):\\d+',"taskid:123adfa asfa lkjljlj") <_sre.SRE_Match object at 0x00ACB8A0> Because of the ^, it *only* matches at the start of the line. If you want a match anywhere (as implied by your error message), just remove the ^. -- Gabriel Genellina -- http://mail.python.org/mailman/listinfo/python-list