Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #48854
| From | Peter Otten <__peter__@web.de> |
|---|---|
| Subject | Re: how can I check if group member exist ? |
| Date | 2013-06-21 11:25 +0200 |
| Organization | None |
| References | <caa3e87c-922e-49e2-ae16-7502b1b365d3@googlegroups.com> |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.3658.1371806649.3114.python-list@python.org> (permalink) |
Hans wrote:
> Hi,
>
> I'm doing a regular expression matching, let's say
> "a=re.search(re_str,match_str)", if matching, I don't know how many
> str/item will be extracted from re_str, maybe a.group(1), a.group(2) exist
> but a.group(3) does not.
>
> Can I somehow check it? something like:
> if exist(a.group(1)): print a.group(1)
> if exist(a.group(2)): print a.group(2)
> if exist(a.group(3)): print a.group(3)
>
>
> I don't want to be hit by "Indexerror":
>>>>print a.group(3)
> Traceback (most recent call last):
> File "<stdin>", line 1, in <module>
> IndexError: no such group
>>>>
>
> thanks!!!
You could catch the exception
for index in itertools.count(1):
try:
print a.group(index)
except IndexError:
break
but in this case there's the groups() method:
for g in a.groups():
print g
The interactive interpreter is a good tool to find candidates for a solution
yourself:
>>> a = re.compile("(.)(.)(.)").search("alpha")
>>> dir(a)
['__class__', '__copy__', '__deepcopy__', '__delattr__', '__doc__',
'__format__', '__getattribute__', '__hash__', '__init__', '__new__',
'__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__',
'__str__', '__subclasshook__', 'end', 'endpos', 'expand', 'group',
'groupdict', 'groups', 'lastgroup', 'lastindex', 'pos', 're', 'regs',
'span', 'start', 'string']
>From the above names lastindex looks promising, too. Can you find out how
the output of
for i in range(a.lastindex):
print a.group(i+1)
differs from that of looping over groups()?
Back to comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
how can I check if group member exist ? Hans <hansyin@gmail.com> - 2013-06-21 02:07 -0700 Re: how can I check if group member exist ? Peter Otten <__peter__@web.de> - 2013-06-21 11:25 +0200 Re: how can I check if group member exist ? Ben Finney <ben+python@benfinney.id.au> - 2013-06-21 19:49 +1000
csiph-web