foundation2_fluffos_v1/
foundation2_fluffos_v1/bin/
foundation2_fluffos_v1/fluffos-2.9-ds2.13/
foundation2_fluffos_v1/fluffos-2.9-ds2.13/ChangeLog.old/
foundation2_fluffos_v1/fluffos-2.9-ds2.13/Win32/
foundation2_fluffos_v1/fluffos-2.9-ds2.13/compat/
foundation2_fluffos_v1/fluffos-2.9-ds2.13/compat/simuls/
foundation2_fluffos_v1/fluffos-2.9-ds2.13/include/
foundation2_fluffos_v1/fluffos-2.9-ds2.13/testsuite/
foundation2_fluffos_v1/fluffos-2.9-ds2.13/testsuite/clone/
foundation2_fluffos_v1/fluffos-2.9-ds2.13/testsuite/command/
foundation2_fluffos_v1/fluffos-2.9-ds2.13/testsuite/data/
foundation2_fluffos_v1/fluffos-2.9-ds2.13/testsuite/etc/
foundation2_fluffos_v1/fluffos-2.9-ds2.13/testsuite/include/
foundation2_fluffos_v1/fluffos-2.9-ds2.13/testsuite/inherit/
foundation2_fluffos_v1/fluffos-2.9-ds2.13/testsuite/inherit/master/
foundation2_fluffos_v1/fluffos-2.9-ds2.13/testsuite/log/
foundation2_fluffos_v1/fluffos-2.9-ds2.13/testsuite/single/
foundation2_fluffos_v1/fluffos-2.9-ds2.13/testsuite/single/tests/compiler/
foundation2_fluffos_v1/fluffos-2.9-ds2.13/testsuite/single/tests/efuns/
foundation2_fluffos_v1/fluffos-2.9-ds2.13/testsuite/single/tests/operators/
foundation2_fluffos_v1/fluffos-2.9-ds2.13/testsuite/u/
foundation2_fluffos_v1/fluffos-2.9-ds2.13/tmp/
foundation2_fluffos_v1/fluffos-2.9-ds2.13/windows/
foundation2_fluffos_v1/lib/cfg/
foundation2_fluffos_v1/lib/cmds/adm/
foundation2_fluffos_v1/lib/daemon/save/
foundation2_fluffos_v1/lib/daemon/services/
foundation2_fluffos_v1/lib/daemon/soul/
foundation2_fluffos_v1/lib/doc/build/
foundation2_fluffos_v1/lib/doc/classes/
foundation2_fluffos_v1/lib/doc/driver/
foundation2_fluffos_v1/lib/doc/driver/applies/
foundation2_fluffos_v1/lib/doc/driver/applies/interactive/
foundation2_fluffos_v1/lib/doc/driver/concepts/
foundation2_fluffos_v1/lib/doc/driver/driver/
foundation2_fluffos_v1/lib/doc/driver/efuns/arrays/
foundation2_fluffos_v1/lib/doc/driver/efuns/buffers/
foundation2_fluffos_v1/lib/doc/driver/efuns/calls/
foundation2_fluffos_v1/lib/doc/driver/efuns/compile/
foundation2_fluffos_v1/lib/doc/driver/efuns/filesystem/
foundation2_fluffos_v1/lib/doc/driver/efuns/floats/
foundation2_fluffos_v1/lib/doc/driver/efuns/functions/
foundation2_fluffos_v1/lib/doc/driver/efuns/general/
foundation2_fluffos_v1/lib/doc/driver/efuns/mappings/
foundation2_fluffos_v1/lib/doc/driver/efuns/numbers/
foundation2_fluffos_v1/lib/doc/driver/efuns/parsing/
foundation2_fluffos_v1/lib/doc/driver/lpc/constructs/
foundation2_fluffos_v1/lib/doc/driver/lpc/types/
foundation2_fluffos_v1/lib/doc/driver/platforms/
foundation2_fluffos_v1/lib/doc/efun/
foundation2_fluffos_v1/lib/doc/etc/
foundation2_fluffos_v1/lib/doc/faq/
foundation2_fluffos_v1/lib/doc/help/creator/
foundation2_fluffos_v1/lib/doc/help/player/
foundation2_fluffos_v1/lib/doc/lpc/basic/
foundation2_fluffos_v1/lib/doc/lpc/data_types/
foundation2_fluffos_v1/lib/doc/lpc/etc/
foundation2_fluffos_v1/lib/doc/lpc/intermediate/
foundation2_fluffos_v1/lib/doc/lpc/types/
foundation2_fluffos_v1/lib/doc/mudlib/
foundation2_fluffos_v1/lib/doc/mudlib/Features/
foundation2_fluffos_v1/lib/domains/Examples/armour/
foundation2_fluffos_v1/lib/domains/Examples/etc/
foundation2_fluffos_v1/lib/domains/Examples/npc/
foundation2_fluffos_v1/lib/domains/Examples/room/
foundation2_fluffos_v1/lib/domains/Examples/virtual/
foundation2_fluffos_v1/lib/domains/Examples/virtual/exaA/
foundation2_fluffos_v1/lib/domains/Examples/virtual/exaB/
foundation2_fluffos_v1/lib/domains/Examples/weapon/
foundation2_fluffos_v1/lib/domains/School/doc/
foundation2_fluffos_v1/lib/domains/School/room/
foundation2_fluffos_v1/lib/domains/School/room/Classes/
foundation2_fluffos_v1/lib/domains/School/room/Offices/
foundation2_fluffos_v1/lib/domains/Standard/
foundation2_fluffos_v1/lib/domains/Standard/pools/
foundation2_fluffos_v1/lib/domains/Standard/std/
foundation2_fluffos_v1/lib/domains/Standard/xtra/
foundation2_fluffos_v1/lib/include/
foundation2_fluffos_v1/lib/lib/obj/
foundation2_fluffos_v1/lib/news/
foundation2_fluffos_v1/lib/save/
foundation2_fluffos_v1/lib/secure/cfg/
foundation2_fluffos_v1/lib/secure/cmds/player/
foundation2_fluffos_v1/lib/secure/lib/
foundation2_fluffos_v1/old/
foundation2_fluffos_v1/win32/
regexp(3)             LPC Library Functions             regexp(3)

NAME
     regexp() - regular expression handler

SYNOPSIS
     string *regexp( string *lines, string pattern,  void  |  int
     flag );

DESCRIPTION
     Typically when presented with an array of lines of text  and
     a  regular expression, regexp(3) returns an array containing
     those lines which match the pattern specified by the regular
     expression.  If  the  flag  (default  0) has bit 2 set, then
     non-matches will be returned instead of matches. If the flag
     has  bit  1  set,  the array returned will be of the form ({
     index1 + 1, match1, ..., indexn + 1, matchn }) where  index1
     is the index of 1st match/non match in the array lines.

REGULAR EXPRESSION SYNTAX
     A regular expression is zero or more _b_r_a_n_c_h_e_s, separated  by
     `|'.  It matches anything that matches one of the branches.

     A branch is zero or more _p_i_e_c_e_s, concatenated.  It matches a
     match  for  the  first,  followed by a match for the second,
     etc.

     A piece is an _a_t_o_m possibly followed by `*',  `+',  or  `?'.
     An  atom  followed  by  `*'  matches a sequence of 0 or more
     matches of the atom.  An atom  followed  by  `+'  matches  a
     sequence of 1 or more matches of the atom.  An atom followed
     by `?' matches a match of the atom, or the null string.

     An atom is a regular expression in parentheses  (matching  a
     match  for the regular expression), a _r_a_n_g_e (see below), `.'
     (matching any single  character),  `^'  (matching  the  null
     string  at the beginning of the input string), `$' (matching
     the null string at the end of the input string), a `\'  fol-
     lowed  by a single character (matching that character), or a
     single character with no other significance  (matching  that
     character).

     A _r_a_n_g_e is a sequence of characters enclosed  in  `[]'.   It
     normally matches any single character from the sequence.  If
     the sequence begins with `^', it matches any single  charac-
     ter _n_o_t from the rest of the sequence.  If two characters in
     the sequence are separated by `-', this is shorthand for the
     full  list  of  ASCII  characters between them (e.g. `[0-9]'
     matches any decimal digit).  To include a literal `]' in the
     sequence,  make it the first character (following a possible
     `^').  To include a literal `-', make it the first  or  last

MudOS                Last change: 5 Sep 1994                    1

regexp(3)             LPC Library Functions             regexp(3)

     character.

AMBIGUITY
     If a regular expression could match two different  parts  of
     the  input string, it will match the one which begins earli-
     est.  If both begin in the same place  but  match  different
     lengths,  or  match  the same length in different ways, life
     gets messier, as follows.

     In general, the possibilities in a list of branches are con-
     sidered  in  left-to-right order, the possibilities for `*',
     `+', and `?' are considered longest-first, nested constructs
     are  considered from the outermost in, and concatenated con-
     structs are considered leftmost-first.  The match that  will
     be  chosen  is the one that uses the earliest possibility in
     the first choice that has to be made.  If there is more than
     one choice, the next will be made in the same manner (earli-
     est possibility)  subject  to  the  decision  on  the  first
     choice.  And so forth.

     For example, `(ab|a)b*c' could match `abc'  in  one  of  two
     ways.   The first choice is between `ab' and `a'; since `ab'
     is earlier, and does lead to a successful overall match,  it
     is  chosen.   Since  the `b' is already spoken for, the `b*'
     must match its last possibility-the  empty  string-since  it
     must respect the earlier choice.

     In the particular case where no `|'s are present  and  there
     is  only  one  `*',  `+', or `?', the net effect is that the
     longest possible match will be chosen.  So `ab*',  presented
     with  `xabbbby',  will match `abbbb'.  Note that if `ab*' is
     tried against `xabyabbbz', it will  match  `ab'  just  after
     `x', due to the begins-earliest rule.  (In effect, the deci-
     sion on where to start the match is the first choice  to  be
     made,  hence subsequent choices must respect it even if this
     leads them to less-preferred alternatives.)

SEE ALSO
     sscanf(3), explode(3), strsrch(3), ed(3)

MudOS                Last change: 5 Sep 1994                    2