SedRegex: require ending delimiter to prevent overzealous matching of replacement text

Closes #59.

From: 414a4a4a16
This commit is contained in:
James Lu 2016-12-22 12:12:21 -08:00
parent 656d2172db
commit dee2b6bdb3

View File

@ -49,7 +49,7 @@ except ImportError:
# lower than 2.7.6: see https://stackoverflow.com/questions/3675144/regex-error-nothing-to-repeat
# and https://bugs.python.org/issue18647
SED_REGEX = re.compile(r"^(?:(?P<nick>.+?)[:,] )?s(?P<delim>[^\w\s])(?P<pattern>.*?)(?P=delim)"
r"(?P<replacement>.*?)(?:(?P=delim)(?P<flags>[a-z]{0,3}))?$")
r"(?P<replacement>.*?)(?P=delim)(?P<flags>[a-z]{0,3})?$")
# Replace newlines and friends with things like literal "\n" (backslash and "n")
axe_spaces = utils.str.MultipleReplacer({'\n': '\\n', '\t': '\\t', '\r': '\\r'})