Brauche einen bestimmten RegEx

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
JohannesGolf
User
Beiträge: 34
Registriert: Montag 10. März 2014, 09:27

Hallo Zusammen,

ich bräuchte eure Hilfe bei einem RegEx.

Ich hab z.B. so eine Zeile im File.
function(argument1, agrumen2)

Wie schaffe ich es, dass er mir die als 2 Argumente erkennt und nicht als eins?
Er sollte aber auch es als 0 erkennen, wenn z.B. function() da steht.

Ich sag schon mal Danke und wünsch euch ein schönes Wochenende.

Mit freundliche Grüße
Johannes
Sirius3
User
Beiträge: 17738
Registriert: Sonntag 21. Oktober 2012, 17:20

@ JohannesGolf: das ist mit regulären Ausdrücken nicht möglich, da sie weder Schleifen noch Rekursion kennen. Was willst Du eigentlich machen? Woher kommen die Zeilen?
JohannesGolf
User
Beiträge: 34
Registriert: Montag 10. März 2014, 09:27

Hab das Problem in der Zwischenzeit selber gelöst. Aber Danke

Thread kann geschlossen werden.
Benutzeravatar
pillmuncher
User
Beiträge: 1484
Registriert: Samstag 21. März 2009, 22:59
Wohnort: Pfaffenwinkel

@JohannesGolf: Es ist ja schön, dass du das Problem gelöst hast. Auch jemand, der in Zukunft ein ähnliches Problem hat, wird sich sicher darüber freuen, dass du es gelöst hast. Auch wenn du nicht verrätst, wie du es gelöst hast.

Threads werden hier im Forum übrigens nicht geschlossen.
In specifications, Murphy's Law supersedes Ohm's.
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

Sirius3 hat geschrieben:das ist mit regulären Ausdrücken nicht möglich, ...
Ich möchte das noch gar nicht glauben ;-) und verstehe auch folgendes Ergebnis nicht:

Code: Alles auswählen

>>> re.findall(r'(?!function)\w+', 'function(foo, bla, bar)')
['unction', 'foo', 'bla', 'bar']
@JohannesGolf
Wie hast Du das gelöst? Würde mich interessieren...

mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
BlackJack

@mutetella: Du hast einen ”negativen Lookahead” und wahrscheinlich ist Dein Missverständnis das Du denkst der ”verbraucht” Zeichen, was er aber nicht tut. Es wird wirklich jede Position in der Zeichenkette geprüft und nicht wenn das nicht mit 'function' anfängt 8 Zeichen dahinter weitergesucht. Das '\w+' bezieht sich auf exakt die selbe Startposition wie das '(?!function)'.
Antworten