Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #102781 > unrolled thread

Re: RegExp help

Started byMRAB <python@mrabarnett.plus.com>
First post2016-02-11 03:31 +0000
Last post2016-02-11 03:31 +0000
Articles 1 — 1 participant

Back to article view | Back to comp.lang.python

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: RegExp help MRAB <python@mrabarnett.plus.com> - 2016-02-11 03:31 +0000

#102781 — Re: RegExp help

FromMRAB <python@mrabarnett.plus.com>
Date2016-02-11 03:31 +0000
SubjectRe: RegExp help
Message-ID<mailman.28.1455161493.22075.python-list@python.org>
On 2016-02-11 03:09, Larry Martell wrote:
> On Wed, Feb 10, 2016 at 10:00 PM, MRAB <python@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)

[toc] | [standalone]


Back to top | Article view | comp.lang.python


csiph-web