Update doc/efun/ aus Driversourcen.
Manpages der efuns aktualisiert, neue Manpages hinzugefuegt.
Change-Id: I7cc91684269ff56d1aef47d5c5e7c87f7fd531dc
diff --git a/doc/efun/regexp b/doc/efun/regexp
index c8f8910..9dc0fed 100644
--- a/doc/efun/regexp
+++ b/doc/efun/regexp
@@ -1,62 +1,40 @@
SYNOPSIS
+ #include <regexp.h>
+
string * regexp(string *list, string pattern)
+ string * regexp(string *list, string pattern, int opt)
-BESCHREIBUNG
- Liefert ein neues Array mit all jenen Strings aus list zurueck,
- welche auf das Muster pattern passen. Diese Funktion verwendet
- dieselbe Syntax fuer regulaere Ausdruecke wie ed():
+DESCRIPTION
+ Match the pattern <pattern> (interpreted according to <opt> if
+ given) against all strings in list, and return a new array with all
+ strings that matched.
- . Passt auf jedes beliebige Zeichen.
+ If there is an error in the regular expression, a runtime
+ error will be raised.
- ^ Passt auf den Beginn einer Zeichenkette.
-
- $ Passt auf das Ende einer Zeichenkette.
-
- \< Passt auf das Beginn eines Wortes.
-
- \> Passt auf das Ende eines Wortes.
-
- \B Passt auf eine leere Zeichenkette an einem Wortrand
- (sollte aehnlich wie das Symbol zur Emacs-Kompatibilitaet in
- GNU egrep sein), seit 3.2@249
-
- x|y Passt entweder auf den regulaeren Ausdruck x oder y.
-
- () Verwendet den eingeschlossenen regulaeren Ausdruck wie einen
- 'simplen' Ausdruck.
-
- x* Der regulaere Ausdruck x passt beliebig oft (0 oder mehr).
-
- x+ Der regulaere Ausdruck x passt mindestens einmal (1 oder mehr).
-
- [..] Passt auf jedes in den Klammern eingeschlossenes Zeichen.
-
- [^ ..] Passt auf jedes Zeichen, welches nicht in den Klammern
- eingeschlossen ist. Das .. ist durch einzelne Zeichen oder
- Bereiche von Zeichen zu ersten:
- [abc] Passt auf a, b oder c.
- [ab0-9] Passt auf a, b, c oder eine beliebige Ziffer.
- [^a-z] Passt auf keinen klein geschriebenen Buchstaben.
-
- \c Passt auf das Zeichen c, selbst wenn es eines der Sonderzeichen ist.
-
- Wenn es einen Fehler im regulaeren Ausdruck gibt, wird ein
- Laufzeitfehler ausgeloest.
-
-BEISPIELE
+EXAMPLES
string strs;
- if (strs = regexp(({ "Bitte helfen sie mir, Sir John." }),
- "\\<helfen\\>.*\\<mir\\>")) {
- if (sizeof(strs)
- write("Es passt.\n");
+ string pattern;
+
+ if (regexp_package() == RE_PCRE)
+ pattern = "\\<help\\>.*\\<me\\>";
+ else
+ pattern = "\\bhelp\\b.*\\bme\\b";
+
+ if (strs = regexp(({"please, help me Sir John."}), pattern)) {
+ if (sizeof(strs)
+ write("It matches.\n");
}
- Der regulaere Ausdruck wird den uebergebenen String (welcher in
- einem Array verpackt wurde) daraufhin ueberpruefen, ob
- sowas wie "helfen ... mir" darin vorkommt.
+ The regular expression will test the given string (which is
+ packed into an array) if there is something like "help ... me"
+ inside of it.
-GESCHICHTE
- LDMud 3.2.9 fuegte das Sonderzeichen '+' hinzu.
+HISTORY
+ LDMud 3.3 added the optional <opt> argument.
+ Since 3.5.0 a error is raised if RE_PCRE is specified in <opt>, but
+ the driver lacks PCRE support.
-SIEHE AUCH
- regexplode(E), regreplace(E), sscanf(E)
+SEE ALSO
+ regexplode(E), regmatch(E), regreplace(E), regexp_package(E), sscanf(E),
+ regexp(C)