![]() |
Reg-Ex zum finden von Funktionen
Hallo RegEx-Profis,
ich will aus dem folgenden oder ähnlichen Strings Code:
ok.ef = ok.de * mult * (4 - 2) / 2 + f.test1(3, f.test2()) Bei meinen bisherigen Versuchen wird immer die letzte Klammer "vergessen" ( [\w\.]+\(.*?\) ). Kann mir jemand sagen, wie ich dieses Problem löse? Danke |
Warte mal...
wenn ich dich richtig verstanden habe, hast du ein "nested parentheses" Problem? Also er matcht die ersten zwie Klammern, die zusammenpassen? function(param, funcasparam()) Vielleicht hilft die das weiter: \( ( (?>[^()]+) | (?R) )* \) First it matches an opening parenthesis. Then it matches any number of substrings which can either be a sequence of non- parentheses, or a recursive match of the pattern itself (i.e. a correctly parenthesized substring). Finally there is a closing parenthesis. HTH ~ |
Puh, schaut ja wild aus... Danke, werd ich mir merken! Ich habs jetzt aber schon anders gelöst:
Code:
// search for next , or ) |
ahhh...
Ich hab am Anfang gar net kapiert was die Func eigentlich macht - jetzt hat der Blitz eingschlagn :D ~ |
Alle Zeitangaben in WEZ +2. Es ist jetzt 22:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag