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


Groups > comp.lang.python > #74045

How to write this repeat matching?

Newsgroups comp.lang.python
Date 2014-07-06 11:57 -0700
Message-ID <93a40570-00ed-4507-aa16-221d7e500468@googlegroups.com> (permalink)
Subject How to write this repeat matching?
From rxjwg98@gmail.com

Show all headers | View raw


Hi,
On Python website, it says that the following match can reach 'abcb' in 6 steps:

.............
A step-by-step example will make this more obvious. Let's consider the expression
a[bcd]*b. This matches the letter 'a', zero or more letters from the class [bcd], 
and finally ends with a 'b'. Now imagine matching this RE against the string 
abcbd.

The end of the RE has now been reached, and it has matched abcb.  This 
demonstrates how the matching engine goes as far as it can at first, and if no
match is found it will then progressively back up and retry the rest of the RE
again and again. It will back up until it has tried zero matches for [bcd]*, and
if that subsequently fails, the engine will conclude that the string doesn't
match the RE at all.
.............

I write the following code:

.......
import re

line = "abcdb"

matchObj = re.match( 'a[bcd]*b', line) 

if matchObj:
   print "matchObj.group() : ", matchObj.group()
   print "matchObj.group(0) : ", matchObj.group()
   print "matchObj.group(1) : ", matchObj.group(1)
   print "matchObj.group(2) : ", matchObj.group(2)
else:
   print "No match!!"
.........

In which I have used its match pattern, but the result is not 'abcb'

Only matchObj.group(0): abcdb 

displays. All other group(s) have no content.

How to write this greedy search?

Thanks,




Back to comp.lang.python | Previous | NextNext in thread | Find similar | Unroll thread


Thread

How to write this repeat matching? rxjwg98@gmail.com - 2014-07-06 11:57 -0700
  Re: How to write this repeat matching? MRAB <python@mrabarnett.plus.com> - 2014-07-06 20:19 +0100
  Re: How to write this repeat matching? Ian Kelly <ian.g.kelly@gmail.com> - 2014-07-06 13:26 -0600
    Re: How to write this repeat matching? rxjwg98@gmail.com - 2014-07-07 06:30 -0700
      Re: How to write this repeat matching? Anssi Saari <as@sci.fi> - 2014-07-07 18:48 +0300
      Re: How to write this repeat matching? Ian Kelly <ian.g.kelly@gmail.com> - 2014-07-07 10:18 -0600

csiph-web