Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.python > #5334
| From | Stefan Schwarzer <sschwarzer@sschwarzer.net> |
|---|---|
| Newsgroups | de.comp.lang.python |
| Subject | Re: [Python-de] Gruppen in sich wiederholenden Sub-Patterns |
| Date | 2018-11-16 09:13 +0100 |
| Message-ID | <mailman.76.1542356032.6006.python-de@python.org> (permalink) |
| References | <3baad237-6d51-8748-bf15-c9cd66ca5aff@sschwarzer.net> <CA+EaWHtu7aXQCZW+9_DtNZFFFo1vF4Sf741YJyniYO2rZTgVYg@mail.gmail.com> <cb15ba33-dc17-4f6f-5b79-b51d688978fb@sschwarzer.net> |
On 16/11/2018 08.25, Dustin Vanidestine wrote:
>> Gibt es eine Möglichkeit, den regulären Ausdruck so umzuschreiben,
>> dass ich alle gewünschten Gruppen bekomme?
>>
>> Falls nicht, wie würdet ihr das Problem sonst lösen? Mir sind
>> mögliche Ansätze eingefallen, aber die wirken alle ziemlich
>> frickelig.
>
> So würde ich es machen (Python 3.7):
>>>> import re
>>>> regex = re.compile(r"""\(\w+,\w+\)""",
> re.U).findall("""(ab,cd),(ef,gh),(ij,kl),(mn,op)""")
>>>> regex
> ['(ab,cd)', '(ef,gh)', '(ij,kl)', '(mn,op)']
>>>> regex = re.compile(r"""\(\w+,\w+\)""",
> re.U).findall("""Anfang(ab,cd),(ef,gh),(ij,kl),(mn,op)(andereszeug)""")
>>>> regex
> ['(ab,cd)', '(ef,gh)', '(ij,kl)', '(mn,op)']
Das Problem hierbei ist, dass die Kommas zwischen den
eingeklammerten Gruppen Bestandteil der Syntax sind. Es
soll zwischen den Gruppen nicht irgendetwas beliebiges
stehen können.
Ansonsten wäre `findall` natürlich das Mittel der Wahl.
Viele Grüße
Stefan
Back to de.comp.lang.python | Previous | Next | Find similar
Re: [Python-de] Gruppen in sich wiederholenden Sub-Patterns Stefan Schwarzer <sschwarzer@sschwarzer.net> - 2018-11-16 09:13 +0100
csiph-web