B
Bill Mill
Hello all,
I've got a test script:
==== start python code =====
tests2 = ["item1: alpha; item2: beta. item3 - gamma--",
"item1: alpha; item3 - gamma--"]
def test_re(regex):
r = re.compile(regex, re.MULTILINE)
for test in tests2:
res = r.search(test)
if res:
print res.groups()
else:
print "Failed"
==== end python code ====
And a simple question:
Why does the first regex that follows successfully grab "beta", while
the second one doesn't?
In [131]: test_re(r"(?:item2: (.*?)\.)")
('beta',)
Failed
In [132]: test_re(r"(?:item2: (.*?)\.)?")
(None,)
(None,)
Shouldn't the '?' greedily grab the group match?
Thanks
Bill Mill
bill.mill at gmail.com
I've got a test script:
==== start python code =====
tests2 = ["item1: alpha; item2: beta. item3 - gamma--",
"item1: alpha; item3 - gamma--"]
def test_re(regex):
r = re.compile(regex, re.MULTILINE)
for test in tests2:
res = r.search(test)
if res:
print res.groups()
else:
print "Failed"
==== end python code ====
And a simple question:
Why does the first regex that follows successfully grab "beta", while
the second one doesn't?
In [131]: test_re(r"(?:item2: (.*?)\.)")
('beta',)
Failed
In [132]: test_re(r"(?:item2: (.*?)\.)?")
(None,)
(None,)
Shouldn't the '?' greedily grab the group match?
Thanks
Bill Mill
bill.mill at gmail.com