On 2016-02-11 03:09, Larry Martell wrote:
On Wed, Feb 10, 2016 at 10:00 PM, MRAB <pyt...@mrabarnett.plus.com> wrote:
On 2016-02-11 02:48, Larry Martell wrote:

Given this string:

s = """|Type=Foo

... |Side=Left"""

print s

|Type=Foo
|Side=Left

I can match with this:

m = re.search(r'^\|Type=(.*)$\n^\|Side=(.*)$',s,re.MULTILINE)
print m.group(0)

|Type=Foo
|Side=Left

print m.group(1)

Foo

print m.group(2)

Left

But when I try and sub it doesn't work:

rn = re.sub(r'^\|Type=(.*)$^\|Side=(.*)$', r'|Side Type=\2
\1',s,re.MULTILINE)
print rn

|Type=Foo
|Side=Left

What very stupid thing am I doing wrong?

The 4th argument of re.sub is the count.


Thanks. Turned out that this site is running 2.6 and that doesn't
support the flags arg to sub. So I had to change it to:

re.sub(r'\|Type=(.*)\n\|Side=(.*)', r'\|Side Type=\2 \1',s)

You could've used the inline flag "(?m)" in the pattern:

  rn = re.sub(r'(?m)^\|Type=(.*)$^\|Side=(.*)$', r'|Side Type=\2 \1',s)

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to