Re: Reguläre Ausdrücke nachschlagen?
Manfred Rebentisch <[email protected]>
| Newsgroups | gmane.linux.suse.programming |
|---|---|
| Organization | COMPARAT Software-Entwicklungs-GmbH |
| Message-ID | <[email protected]> |
Hallo David, vielen Dank für Deine nette und hilfreiche Antwort! Am Donnerstag, 8. September 2005 00:22 schrieb David Haller: > Hallo, > > Am Wed, 07 Sep 2005, Manfred Rebentisch schrieb: > >Ah, also für PHP habe ich es gefunden: > > > > file:/usr/share/doc/packages/phpdoc/manual/pcre.pattern.syntax.html > > Das "pcre" steht fuer "Perl Compatible Regular Expression(s)". Siehe dazu > also auch 'perldoc perlre' 'perldoc perlrequick', 'perldoc perlreref' und > 'perldoc perlretut'. > Gut, das sind wirklich hilfreiche und umfangreiche Dokumente. > > Und falls du mal wie der Ochs vor'm Berg stehst, dann frag doch einfach, > hier oder in einer passenden newsgroup wie z.B. de.comp.lang.perl.misc > wenn du z.B. eine RE fuer ein bestimmtest Problem suchst oder eine RE > nicht nachvollziehen kannst. Das ist ein tolles Angebot. Gut, ich habe es inzwischen herausbekommen. Ich wollte die PCRE-Syntax: "#\[email\]([a-z0-9&\-_.]+?@[\w\-]+\.([\w\-\.]+\.)?[\w]+)\[/email\]#si" die in PHP z.B. mit preg_replace benutzt wird, verwenden für GNU regcomp und regexec. Das sind keine PCRE-Funktionen, sondern die normalen POSIX Methoden. Erkannt wird damit ein String wie "[email][email protected][/email]". Ich habe es mit "\[email\]([[:alnum:]@\-_\.]*)\[/email\]" versucht und es funktioniert auch - aber es ist nicht das gleiche. Ich dachte, es sei richtig, die Syntax so umzustellen (nachdem ich die Doku gelesen hatte und wußte, daß "\w" Wortzeichen sind): "\[email\]([a-z0-9&\-_.]+?@[[:alnum:]\-]+\.([[:alnum:]\-\.]+\.)? [[:alpha:]]+)\[/email\]" und siehe da, jetzt funktioniert es. Auch mit der Syntax "#\[url\]([\w]+?://[^ \"\n\r\t<]*?)\[/url\]#is" umgestellt zu "\[url\]([[:alpha:]]+?://[^\"[:space:]<]*?)\[/url\]" hatte ich Probleme, bis ich darauf kam, "[[:alpha:]]" statt "[:alpha:]" einzusetzen (um z.B. "[url]http://www.domain.tld[/url]" zu erkennen). Grüße Manfred -- Um die Liste abzubestellen, schicken Sie eine Mail an: [email protected] Um eine Liste aller verfügbaren Kommandos zu bekommen, schicken Sie eine Mail an: [email protected]