Seite 2 von 3

Verfasst: Montag 24. September 2007, 08:19
von BlackVivi
Ich persönlich find' die momentane RE Engine ziemlich pythonisch. Wär's noch komplexer, könnt' ich doch gleich Perl oder Ruby nehmen oO'...

(Vielleicht ein wenig Krass ausgedrückt...)

Ich hab mit REs noch nicht alzu viel zu tun gehabt, aber wenn ich welche im Quellcode sehe, kann ich die noch recht einfach deuten. Wenn ich die jedoch bei Perl oder Ruby seh', geht's schon nich mehr ganz so einfach... Und eine Sache die ich an Python liebe ist halt:

*in quellcode schau*
"OH GOTT, dass is' ja cool gelöst. Warum bin ich darauf nich gekommen??"

Bei keiner anderen Programmiersprache ging' es mir bisher so...

Verfasst: Montag 24. September 2007, 08:28
von mitsuhiko
BlackVivi hat geschrieben:Ich hab mit REs noch nicht alzu viel zu tun gehabt, aber wenn ich welche im Quellcode sehe, kann ich die noch recht einfach deuten. Wenn ich die jedoch bei Perl oder Ruby seh', geht's schon nich mehr ganz so einfach...
Seltsam. Dabei ist die momentane Ruby Regexp Engine (die, die du wahrscheinlich gesehen hast) viel limitierter als die Python Engine. Kein Unicode, kein Lookbehind, kein Lookahead, keine Named Groups :-)

Verfasst: Montag 24. September 2007, 08:34
von BlackVivi
blackbird hat geschrieben:
BlackVivi hat geschrieben:Ich hab mit REs noch nicht alzu viel zu tun gehabt, aber wenn ich welche im Quellcode sehe, kann ich die noch recht einfach deuten. Wenn ich die jedoch bei Perl oder Ruby seh', geht's schon nich mehr ganz so einfach...
Seltsam. Dabei ist die momentane Ruby Regexp Engine (die, die du wahrscheinlich gesehen hast) viel limitierter als die Python Engine. Kein Unicode, kein Lookbehind, kein Lookahead, keine Named Groups :-)
Hmpf, vielleicht hab ich mich verguckt oder so. Hab mich mit Ruby nicht alzu doll befasst. Ich zielte eher auf Perl ab...

Also verzeiht'.

Verfasst: Montag 24. September 2007, 17:02
von poker
blackbird hat geschrieben: Seltsam. Dabei ist die momentane Ruby Regexp Engine (die, die du wahrscheinlich gesehen hast) viel limitierter als die Python Engine. Kein Unicode, kein Lookbehind, kein Lookahead, keine Named Groups :-)
Nein! ;)
Siehe Punkt 7 http://www.geocities.jp/kosako3/oniguruma/doc/RE.txt
Wenn man sich die liste mal ansieht ist die sogar umfangreicher :roll:

- Es ist voll (so weit ich sehe) POSIX kompatibel was man von SRE nicht sagen kann.
- Es hat Möglichkeit für ``atomic group`` (kein backtrack in subexp, was die Geschwindigkeit erhöht.), hat SRE nicht.
- Es hat back reference mit angebe des Verschachtelungslevel, hat SRE auch nicht => ``\k<name+n>`` wobei n der level ist und +/- = ahead/behind.

Aber was ärgerlich ist, das es keine Conditions hat ``(?(condition)yes-pat|no-pat)``. Da ist Python voraus.

BTW: Falls du Ruby 1.8.x meinst: Kannst oniguruma updaten. Gibts ein Binary/source für...

Verfasst: Montag 24. September 2007, 18:51
von mitsuhiko
poker hat geschrieben:
blackbird hat geschrieben: Seltsam. Dabei ist die momentane Ruby Regexp Engine (die, die du wahrscheinlich gesehen hast) viel limitierter als die Python Engine. Kein Unicode, kein Lookbehind, kein Lookahead, keine Named Groups :-)
*snip*

BTW: Falls du Ruby 1.8.x meinst: Kannst oniguruma updaten. Gibts ein Binary/source für...
Ich bezweifle, dass ihm durch Zufall Ruby Code untergekommen ist, der Oniguruma nutzt. Was Oniguruma kann weiß ich selber, die Featureliste brauchst du mir nicht in jedem Post einfügen :roll:

Der einzige 1.8 Code, der Oniguruma nutzt ist meines Wissens nach die Testsuite davon und TextPow.

Verfasst: Montag 24. September 2007, 18:58
von poker
@blackbird:
Hi, bin schon ein wenig weiter. Will das ganze nun auf ner Windows Kiste testen um zu sehen ob es auch darauf Funktioniert. Hast ne Ahnung was ich installieren könnte um bahs, etc auf Windows nutzen zu können? Krieg oniguruma sonst nicht darauf kompiliert.

Hab schon google angeworfen aber werde mit verschiedenen Lösungen konfrontiert. Gibt es ein besonderen geheim Tipp?

mfg

Verfasst: Montag 24. September 2007, 19:00
von poker
blackbird hat geschrieben: Was Oniguruma kann weiß ich selber, die Featureliste brauchst du mir nicht in jedem Post einfügen :roll:
Ja. Fühl dich doch nicht gleich angepisst. Das musst du abkönnen, bist ja auch nicht gerade auf den Mund gefallen und hältst hinterm Zaun ;)

Verfasst: Montag 24. September 2007, 19:05
von mitsuhiko
poker hat geschrieben:@blackbird:
Hi, bin schon ein wenig weiter. Will das ganze nun auf ner Windows Kiste testen um zu sehen ob es auch darauf Funktioniert. Hast ne Ahnung was ich installieren könnte um bahs, etc auf Windows nutzen zu können? Krieg oniguruma sonst nicht darauf kompiliert.
Sofern du nicht im Besitz einer Visual Studio 2005 Lizenz bist eher gar nicht. Installier dir ein Linux in einer vmware box und teste das dort.

//EDIT: Da du meine Post anscheind genauso genau durchliest, wie du es von mir behauptest dürfte mir diese, etwas angebissen Aussage zustehen.

Verfasst: Montag 24. September 2007, 19:09
von poker
blackbird hat geschrieben: Sofern du nicht im Besitz einer Visual Studio 2005 Lizenz bist eher gar nicht. Installier dir ein Linux in einer vmware box und teste das dort.
Argh. Das ja mist ;( Also brauch ich VS um das ganze auf win kompiliert zu kriegen? Ist aber auch mist, wollte das der oniguruma wrapper auf win und Linux läuft. In das win package wollte ich ne dll integrieren ;(

EDIT:
blackbird hat geschrieben: //EDIT: Da du meine Post anscheind genauso genau durchliest, wie du es von mir behauptest dürfte mir diese, etwas angebissen Aussage zustehen.
Jupp, hast ja auch recht. :) Hatte dein Post fasch interpretiert.

Verfasst: Montag 24. September 2007, 19:12
von mitsuhiko
poker hat geschrieben:
blackbird hat geschrieben: Sofern du nicht im Besitz einer Visual Studio 2005 Lizenz bist eher gar nicht. Installier dir ein Linux in einer vmware box und teste das dort.
Argh. Das ja mist ;( Also brauch ich VS um das ganze auf win kompiliert zu kriegen? Ist aber auch mist, wollte das der oniguruma wrapper auf win und Linux läuft. In das win package wollte ich ne dll integrieren ;(
VS wäre ja nicht das Problem, das bekommst du ja mittlerweile kostenlos. Aber immer nur die aktuelle Version. Und was hindert VS daran, dass deine Library auf Linux läuft? Sofern du deinen Quellcode schön platform unabhängig hälst...

Verfasst: Montag 24. September 2007, 19:19
von poker
@blackbird:
Sorry, aber ich verstehe dein Post nicht richtig. So wie ich dich verstanden habe, kann ich oniguruma nicht auf win kompilieren, weil mir die Lizenz zu VS 2005 fehlt (Ich wollte das eigentlich mit MingGW kompilieren). Das mit MingGW wird wohl nicht das Problem darstellen, sondern eher das ich erstmal eine bash auf win brauche um das configure Script auszuführen. Daher fragte ich nach ein Geheimtipp. In der Zwischenzeit habe ich das gefunden http://sourceforge.net/projects/getgnuwin32. Werde ich mal testen.

Linux ist wie gesagt kein Problem. Wollte nur mal testen ob der bisherige Python wrapper auch auf Win läuft.

Verfasst: Montag 24. September 2007, 19:50
von mitsuhiko
An Oniguruma liegts nicht, dass du VS 2005 brauchst.

Verfasst: Montag 24. September 2007, 20:59
von mitsuhiko
Magst du mir den Code für deinen Python wrapper mal schicken? Würde gerne wissen, wie du Uniguruma die PyUnicode Objekte übergibst.

Verfasst: Montag 24. September 2007, 21:01
von birkenfeld
Man kann Python angeblich mit MinGW/Cygwin kompilieren. Das ganze ist aber nicht offiziell supported -- die einzige momentan offiziell unterstützte Buildumgebung ist VS 7, wobei es ein recht gut aktuell gehaltenes Verzeichnis mit Makefiles für VS 8 gibt.

VS 8 Express (also insbesondere den Compiler) gibt es umsonst bei MS herunterzuladen, da brauchst du also auch keine Lizenz dafür. Ob da allerdings eine IDE dabei ist, weiß ich nicht.

Grundsätzlich ist es nicht schwer, mit der Python-API portablen Code zu schreiben (solange die gewrappte Library auch portabel ist). Wenn du dich also an die Regeln für portables C hältst, dürfte es hinterher kaum Problem auf Windows geben.

Verfasst: Montag 24. September 2007, 21:06
von mitsuhiko
Ups Tatsache. Ich dachte die aktuelle Version ist 2007 und die alte 2005. Dann brauchst du wirklich Visual Studio 7 für die Extensions.