Tach!
Der Audruck passt nur dann:
1.) Wenn auf den Funktionsaufruf o(/*...*/) ein/mehrere Methodenaufruf/e oder ein/mehrere array Index/e folgen oder optinal auf den array Index ein/mehrere Methodenaufrufe/e folgen. Das ganze soll immer mit einem Semikolon enden.
Das heißt, dass diese Aufrufe nicht gefunden werden sollen, wenn sie als Funktionsparameter oder Ausdrucksbestandteil (z.B. in einer Bedingung vor einem or/and) notiert kein ; hintendran haben - oder die auch?
Verstanden?
Ja. Ist vermutlich nicht unlösbar, wird aber nicht einfach. Mein Weg wäre, nicht alles bis zum ; finden zu wollen, sondern die möglichen Verkettungen (mit "recursive pattern" Klammern und Strings berücksichtigen) bis zum nicht mehr nachfolgenden -> nebst Whitespace (assertion). Schwierig schätze ich die Stelle, an der du Klammern in Strings erkennen/ignorieren musst. Jedenfalls wird das ein ziemlich unwartbares Monster.
[Parser mit Tokenizer]
Das muss ich mir in Ruhe anschauen! Kannte ich bis Dato nicht. Es scheint/sieht nach einer schwergewichte Kost aus. Gerne möchte ich das ganze mit Regulären Ausdrücken löschen!
Zum Löschen nimm rm oder del ... Ich denke, du kommst nervenschonender ans Ziel, wenn du die Token-Geschichte nimmst. Dabei wertest du nicht nach Mustern aus, die sonstwo vorkommen können und damit unerünscht sind, sondern findest anhand der Bedeutung die dich interessierenden Teile.
dedlfix.