You don't need regular expressions to do that. Look into the methods that strings have. Look at slicing. Look at len. Keep your code readable for future generations.
Py>>> help(str)
Py>>> dir(str)
Py>>> help(str.startswith)
Cheers,
Cliff
Look again at the sample input. Some of the OP's replacement targets
are not at the beginning of a word, so str.startswith wont be much
help.
Here are 2 solutions, one using re, one using pyparsing.
-- Paul
instr = """
anything starting with and betweeen "http://" until "/"
like
http://www.start.com/startservice/yellow/ fdhttp://helo/abcd
will
be replaced as
"""
REPLACE_STRING = "p"
# an re solution
import re
print re.sub("
http://[^/]*", REPLACE_STRING, instr)
# a pyparsing solution - with handling of target strings inside quotes
from pyparsing import SkipTo, replaceWith, quotedString
replPattern = "http://" + SkipTo("/")
replPattern.setParseAction( replaceWith(REPLACE_STRING) )
replPattern.ignore(quotedString)
print replPattern.transformString(instr)
Prints:
anything starting with and betweeen "p/"
like p/startservice/yellow/ fdp/abcd will
be replaced as
anything starting with and betweeen "http://" until "/"
like p/startservice/yellow/ fdp/abcd will
be replaced as