Dan Hlavenka
Dan Hlavenka

Reputation: 3817

RegEx replace in Python

I'm pretty new to regular expressions. I've worked out the string (?i)\$url\[([0-9])\] to match what I'm looking for. I want a string like "this is $url[2] a string" to be passed through that regex, have 2 passed to a function, which returns a string, and $url[2] is replaced with that string. How do I do that?

Upvotes: 1

Views: 227

Answers (1)

jtbandes
jtbandes

Reputation: 118671

def myrepl(match):
    num = int(match.group(1))
    # Do something here
    return str(num) # this will replace the $url[2]

mystr = "this is $url[2] a string"

print re.sub(r'\$url\[([0-9])\]', myrepl, mystr, flags=re.IGNORECASE)

Upvotes: 3

Related Questions