Regular Expression mit Cocoa

  • Regular Expression mit Cocoa

    Hallo,

    gibt es Systemroutinen / Klassen für Regular Expressions? Die Standart C Bibliothek arbeitet, so weit ich weiss mit NULL terminierten Strings. Eine Integration mittels Containern z. B. NSArray und NSString wäre doch sicher sinvoll für Grafikanwendungen mit integriertem Parser.
    kennt sich da jemand aus ?

    Das Apple Standart-Programm "Grapher" ist sicher auch irgendwie so realisiert.

    Gruß
    Andrea
  • RE: Regular Expression mit Cocoa

    Original von Andrea
    gibt es Systemroutinen / Klassen für Regular Expressions? Die Standart C Bibliothek arbeitet, so weit ich weiss mit NULL terminierten Strings. Eine Integration mittels Containern z. B. NSArray und NSString wäre doch sicher sinvoll für Grafikanwendungen mit integriertem Parser.
    kennt sich da jemand aus ?

    Das Apple Standart-Programm "Grapher" ist sicher auch irgendwie so realisiert.

    Ich gestehe: Die Zusammenhänge zwischen C-Strings, RegExp, Grafikanwendungen und Grapher sehe ich nicht – aber egal.

    Die Frage ist hier im Forum wiederholt diskutiert worden und eine Suche vor der Frage hätte nicht geschadet. Regex kann man in Cocoa einsetzen mittels NSPredicate, OgreKit, AGRegex oder regex.

    Ciao
    Carsten
  • Die Frage ist hier im Forum wiederholt diskutiert worden und eine Suche vor der Frage hätte nicht geschadet.

    Ist geschehen , ohne Erfolg.

    NSPredicate, OgreKit, AGRegex oder regex.


    Genau das wollte ich wissen.
    (Da ich die Begiffe , dank Deines Beitrags nun kenne, kann ich auch danach suchen)

    Danke !


    Ich gestehe: Die Zusammenhänge zwischen C-Strings, RegExp, Grafikanwendungen und Grapher sehe ich nicht – aber egal.

    1) Zusammenhang C-Strings RegExp : Reguläre Ausdrücke werden durch Strings gebildet.

    2) Zusammenhang RegExp und Grafikanwendungen wie z. B Grapher:

    Wenn in eine Grafikanwendung eine Funktion eingegeben werden kann so kann das nur mittels Parser realisiert werden. Da die Programmierer ja nicht wissen können welche Funktion ein Anwender darstellen möchte.
    Das ist bei "Grapher" der Fall. Da kann man selbst Funktionen eingeben.
    Ausser bei interpretierten Sprachen, da wird dann zum Parsen der Interpreter aufgerufen.

    HHm. Sehr viele Grafikanwendungen haben einen Parser. Z,B. auch PovRay. Und um einen Parser zu coden kann man auf Regular Expressions sicherlich kaum verzichten. Anderes Beispiel ist "Postscript", auch ein zu parsendes Textformat, bestehend aus Strings.
    HHm

    Komisch, dass die Zusammenhänge unklar erscheinen, aber egal.

    Gruß

    Andrea
  • Original von Andrea
    Sehr viele Grafikanwendungen haben einen Parser. Z,B. auch PovRay. Und um einen Parser zu coden kann man auf Regular Expressions sicherlich kaum verzichten. Anderes Beispiel ist "Postscript", auch ein zu parsendes Textformat, bestehend aus Strings.

    Aber zum einen ist ein Parser nichts, was irgendwie spezifisch wäre für Graphik-Software. Und zum anderen (viel wichtiger): ab einem gewissen Komplexitätsgrad wird man mit RegExp zum Parsen nicht mehr weit kommen, sondern einen Lexer einsetzen. Oder es gibt vielleicht Fälle, wo schon NSScanner reichen würde.

    Ciao
    Carsten
  • Da werden Albträume aus mein Zeit im RZ wieder wach. Lex und Yacc. Ne, für meine kleinen aber netten Dinge will ich mich da nicht einarbeiten. Das wäre mit Kanonen auf Spatzen schießen. Ich begnüg mich mit Bordmitteln,das war auch meine Frage. Flex überlass ich den Profis, die sich damit auseinandersetzen ( müssen).
  • Original von Andrea
    Da werden Albträume aus mein Zeit im RZ wieder wach. Lex und Yacc. Ne, für meine kleinen aber netten Dinge will ich mich da nicht einarbeiten. Das wäre mit Kanonen auf Spatzen schießen. Ich begnüg mich mit Bordmitteln,das war auch meine Frage. Flex überlass ich den Profis, die sich damit auseinandersetzen ( müssen).


    ich bin kein Profi in RegEx und muss mich trotzdem mit flex rumschlagen ;)
  • Ich hab zwar schon lange nichts mehr mit flex gemacht, fand das aber irgendwie interessant.

    Kleine Hilfe zu RegEx mit NSPredicate: stiefels.net/2007/01/24/regular-expressions-for-nsstring/
    Ausserdem gibt's ein kleines Tool, mit dem man bequem die Ausdrücke auf mehrere Strings testen kann: stiefels.net/projects/regextester
    Unix is sexy:
    who | grep -i blonde | date cd ~; unzip; touch, strip; finger; mount; gasp; yes; uptime; umount; sleep