Andreas Röhler wrote:
Am 19.03.2013 11:57, schrieb Andreas Röhler:
das folgende Stück sollte kein Ergebnis liefern. Die "d" sollten von Klammer 3 nicht gefunden werden(?)
Könntest du bitte in Prosa dein Problem beschreiben?
a = re.match(r'([0-9]+)([db])([^\2]+)', '123dsfaadddd');print(a.groups()) ==> ('123', 'd', 'sfaadddd')
[^db] existiert. Bastian
Am 19.03.2013 14:11, schrieb Bastian Blank:
Andreas Röhler wrote:
Am 19.03.2013 11:57, schrieb Andreas Röhler:
das folgende Stück sollte kein Ergebnis liefern. Die "d" sollten von Klammer 3 nicht gefunden werden(?)
Könntest du bitte in Prosa dein Problem beschreiben?
[^\2] verstehe ich als Ausdruck "finde alle Zeichen, die nicht von Klammer 2 gefunden wurden"
a = re.match(r'([0-9]+)([db])([^\2]+)', '123dsfaadddd');print(a.groups()) ==> ('123', 'd', 'sfaadddd')
[^db] existiert.
Es geht darum, sich auf das dann Gefundene zu beziehen, was bei Aufruf noch nicht bekannt ist, in diesem Fall äquivalent zu [^d] [^\2] sollte 'sfaa' ausgeben, nicht 'sfaadddd' Andreas
On 3/19/13 3:18 PM, "Andreas Röhler" <andreas.roehler@online.de> wrote:
Am 19.03.2013 14:11, schrieb Bastian Blank:
Andreas Röhler wrote:
Am 19.03.2013 11:57, schrieb Andreas Röhler:
das folgende Stück sollte kein Ergebnis liefern. Die "d" sollten von Klammer 3 nicht gefunden werden(?)
Könntest du bitte in Prosa dein Problem beschreiben?
[^\2] verstehe ich als Ausdruck "finde alle Zeichen, die nicht von Klammer 2 gefunden wurden"
Was Bastian meint ist denke ich, was dein eigentliches Problem, das du lösen willst, ist. Oder geht es dir nur um das spielen mit regulären Ausdrücken? LG Diez
Am 19.03.2013 15:41, schrieb Diez Roggisch:
On 3/19/13 3:18 PM, "Andreas Röhler" <andreas.roehler@online.de> wrote:
Am 19.03.2013 14:11, schrieb Bastian Blank:
Andreas Röhler wrote:
Am 19.03.2013 11:57, schrieb Andreas Röhler:
das folgende Stück sollte kein Ergebnis liefern. Die "d" sollten von Klammer 3 nicht gefunden werden(?)
Könntest du bitte in Prosa dein Problem beschreiben?
[^\2] verstehe ich als Ausdruck "finde alle Zeichen, die nicht von Klammer 2 gefunden wurden"
Was Bastian meint ist denke ich, was dein eigentliches Problem, das du lösen willst, ist.
Es geht um einen Umsetzer von Makros in Man-pages bei https://developer.berlios.de/projects/schillix-on/ Die Makros der gegenwärtigen kompakten, von Sun entwickelten Form, sollen so ersetzt werden, daß die Manpage möglichst zeilenweise editierbar, im Quelltext besser lesbar wird. Problematisch wird die Sache, wenn die Auszeichnungen \fB, \fI und \fR, in einer Zeile vorkommen. Muß hier die Verarbeitung u.U. vermeiden Frage daher bei ([BI]) ob später der jeweils alternative Ausdruck B oder I auftaucht
Oder geht es dir nur um das spielen mit regulären Ausdrücken?
Eine Zeile in sccs.1: "directory, however, \fBsccs\fR applies the subcommand to every \fBs.\fRfile" \fB...\fR kommt hier zweimal vor, was unproblematisch ist, also falsch positiv. Da es im wesentlichen nur um die Abfolge von \fB, \fI und \fR geht, sollte das auch mit einer einfacheren Regexp zu unterscheiden sein - nicht systemrelevant :) Andreas
LG Diez
_______________________________________________ python-de maillist - python-de@python.org http://mail.python.org/mailman/listinfo/python-de
Es geht darum, sich auf das dann Gefundene zu beziehen, was bei Aufruf noch nicht bekannt ist,
in diesem Fall äquivalent zu
[^d]
[^\2] sollte 'sfaa' ausgeben, nicht 'sfaadddd'
Und dazu noch eine Anmerkung: wenn ich die Doku richtig verstehe, geht das nicht. """ Inside the '[' and ']' of a character class, all numeric escapes are treated as characters. """ Das lese ich so, dass die \n-Referenzen ihre Bedeutung verlieren, wenn sie in []-Konstrukten auftauchen. Was für dich ja auch der Fall zu sein scheint. LG Diez
Am 19.03.2013 15:46, schrieb Diez Roggisch:
Es geht darum, sich auf das dann Gefundene zu beziehen, was bei Aufruf noch nicht bekannt ist,
in diesem Fall äquivalent zu
[^d]
[^\2] sollte 'sfaa' ausgeben, nicht 'sfaadddd'
Und dazu noch eine Anmerkung: wenn ich die Doku richtig verstehe, geht das nicht.
""" Inside the '[' and ']' of a character class, all numeric escapes are treated as characters.
"""
Das lese ich so, dass die \n-Referenzen ihre Bedeutung verlieren, wenn sie in []-Konstrukten auftauchen. Was für dich ja auch der Fall zu sein scheint.
LG Diez
Ja, das ist wohl so, Danke.
On 19.03.2013 15:18, Andreas Röhler wrote:
[^\2] verstehe ich als Ausdruck "finde alle Zeichen, die nicht von Klammer 2 gefunden wurden"
Vielleicht hilft folgende in der Doku beschrieben Syntax dir weiter? (?(id/name)yes-pattern|no-pattern) "Will try to match with yes-pattern if the group with given id or name exists, and with no-pattern if it doesn’t. no-pattern is optional and can be omitted. For example, (<)?(\w+@\w+(?:\.\w+)+)(?(1)>) is a poor email matching pattern, which will match with '<user@host.com>' as well as 'user@host.com', but not with '<user@host.com'." Vielleicht aber auch nicht. Ich verstehe deine Problemstellung nämlich auch noch nicht wirklich. Chris
participants (4)
-
Andreas Röhler -
Bastian Blank -
Christopher Arndt -
Diez Roggisch