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]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.