File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / pcre / doc / pcresample.3
Revision 1.1.1.3 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Mon Jul 22 08:25:56 2013 UTC (11 years, 8 months ago) by misho
Branches: pcre, MAIN
CVS tags: v8_34, v8_33, v8_31, HEAD
8.33

    1: .TH PCRESAMPLE 3 "10 January 2012" "PCRE 8.30"
    2: .SH NAME
    3: PCRE - Perl-compatible regular expressions
    4: .SH "PCRE SAMPLE PROGRAM"
    5: .rs
    6: .sp
    7: A simple, complete demonstration program, to get you started with using PCRE,
    8: is supplied in the file \fIpcredemo.c\fP in the PCRE distribution. A listing of
    9: this program is given in the
   10: .\" HREF
   11: \fBpcredemo\fP
   12: .\"
   13: documentation. If you do not have a copy of the PCRE distribution, you can save
   14: this listing to re-create \fIpcredemo.c\fP.
   15: .P
   16: The demonstration program, which uses the original PCRE 8-bit library, compiles
   17: the regular expression that is its first argument, and matches it against the
   18: subject string in its second argument. No PCRE options are set, and default
   19: character tables are used. If matching succeeds, the program outputs the
   20: portion of the subject that matched, together with the contents of any captured
   21: substrings.
   22: .P
   23: If the -g option is given on the command line, the program then goes on to
   24: check for further matches of the same regular expression in the same subject
   25: string. The logic is a little bit tricky because of the possibility of matching
   26: an empty string. Comments in the code explain what is going on.
   27: .P
   28: If PCRE is installed in the standard include and library directories for your
   29: operating system, you should be able to compile the demonstration program using
   30: this command:
   31: .sp
   32:   gcc -o pcredemo pcredemo.c -lpcre
   33: .sp
   34: If PCRE is installed elsewhere, you may need to add additional options to the
   35: command line. For example, on a Unix-like system that has PCRE installed in
   36: \fI/usr/local\fP, you can compile the demonstration program using a command
   37: like this:
   38: .sp
   39: .\" JOINSH
   40:   gcc -o pcredemo -I/usr/local/include pcredemo.c \e
   41:       -L/usr/local/lib -lpcre
   42: .sp
   43: In a Windows environment, if you want to statically link the program against a
   44: non-dll \fBpcre.a\fP file, you must uncomment the line that defines PCRE_STATIC
   45: before including \fBpcre.h\fP, because otherwise the \fBpcre_malloc()\fP and
   46: \fBpcre_free()\fP exported functions will be declared
   47: \fB__declspec(dllimport)\fP, with unwanted results.
   48: .P
   49: Once you have compiled and linked the demonstration program, you can run simple
   50: tests like this:
   51: .sp
   52:   ./pcredemo 'cat|dog' 'the cat sat on the mat'
   53:   ./pcredemo -g 'cat|dog' 'the dog sat on the cat'
   54: .sp
   55: Note that there is a much more comprehensive test program, called
   56: .\" HREF
   57: \fBpcretest\fP,
   58: .\"
   59: which supports many more facilities for testing regular expressions and both
   60: PCRE libraries. The
   61: .\" HREF
   62: \fBpcredemo\fP
   63: .\"
   64: program is provided as a simple coding example.
   65: .P
   66: If you try to run
   67: .\" HREF
   68: \fBpcredemo\fP
   69: .\"
   70: when PCRE is not installed in the standard library directory, you may get an
   71: error like this on some operating systems (e.g. Solaris):
   72: .sp
   73:   ld.so.1: a.out: fatal: libpcre.so.0: open failed: No such file or directory
   74: .sp
   75: This is caused by the way shared library support works on those systems. You
   76: need to add
   77: .sp
   78:   -R/usr/local/lib
   79: .sp
   80: (for example) to the compile command to get round this problem.
   81: .
   82: .
   83: .SH AUTHOR
   84: .rs
   85: .sp
   86: .nf
   87: Philip Hazel
   88: University Computing Service
   89: Cambridge CB2 3QH, England.
   90: .fi
   91: .
   92: .
   93: .SH REVISION
   94: .rs
   95: .sp
   96: .nf
   97: Last updated: 10 January 2012
   98: Copyright (c) 1997-2012 University of Cambridge.
   99: .fi

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>