"Astan Chee" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] > Hi, > I have a html text stored as a string. Now I want to go through this > string and find all 6 digit numbers and make links from them. > Im using re.sub and for some reason its not picking up the previously > matched condition. Am I doing something wrong? This is what my code looks > like: > htmlStr = re.sub('(?P<id>\d{6})','<a > href=\"http://linky.com/(?P=id).html\">(?P=id)</a>',htmlStr) > It seems that it replaces it alright, but it replaces it literally. Am I > not escaping certain characters? > Thanks again for the help. > Cheers > > Animal Logic > http://www.animallogic.com > > Please think of the environment before printing this email. > > This email and any attachments may be confidential and/or privileged. If > you are not the intended recipient of this email, you must not disclose or > use the information contained in it. Please notify the sender immediately > and delete this document if you have received it in error. We do not > guarantee this email is error or virus free. > >
See the help for re.sub: "Backreferences, such as "\6", are replaced with the substring matched by group 6 in the pattern." This should work: htmlStr = re.sub('(?P<id>\d{6})','<a href="http://linky.com/\\1.html">\\1</a>',htmlStr) --Mark -- http://mail.python.org/mailman/listinfo/python-list