/[pcre]/code/trunk/doc/pcresample.3
ViewVC logotype

Contents of /code/trunk/doc/pcresample.3

Parent Directory Parent Directory | Revision Log Revision Log


Revision 861 - (hide annotations) (download)
Tue Jan 10 14:54:28 2012 UTC (2 years, 11 months ago) by ph10
File size: 3185 byte(s)
Documentation.

1 nigel 79 .TH PCRESAMPLE 3
2 nigel 63 .SH NAME
3     PCRE - Perl-compatible regular expressions
4 nigel 75 .SH "PCRE SAMPLE PROGRAM"
5 nigel 63 .rs
6     .sp
7     A simple, complete demonstration program, to get you started with using PCRE,
8 ph10 429 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 ph10 461 documentation. If you do not have a copy of the PCRE distribution, you can save
14 ph10 429 this listing to re-create \fIpcredemo.c\fP.
15 nigel 75 .P
16 ph10 861 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 nigel 75 .P
23 nigel 63 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 nigel 75 .P
28 ph10 312 If PCRE is installed in the standard include and library directories for your
29 ph10 456 operating system, you should be able to compile the demonstration program using
30     this command:
31 nigel 75 .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 nigel 63 -L/usr/local/lib -lpcre
42 nigel 75 .sp
43 ph10 525 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 nigel 75 .sp
52 nigel 63 ./pcredemo 'cat|dog' 'the cat sat on the mat'
53     ./pcredemo -g 'cat|dog' 'the dog sat on the cat'
54 nigel 75 .sp
55 nigel 63 Note that there is a much more comprehensive test program, called
56 nigel 75 .\" HREF
57     \fBpcretest\fP,
58     .\"
59 ph10 861 which supports many more facilities for testing regular expressions and both
60     PCRE libraries. The
61 ph10 429 .\" HREF
62     \fBpcredemo\fP
63     .\"
64     program is provided as a simple coding example.
65 nigel 75 .P
66 ph10 572 If you try to run
67 ph10 429 .\" 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 nigel 75 .sp
73 nigel 63 ld.so.1: a.out: fatal: libpcre.so.0: open failed: No such file or directory
74 nigel 75 .sp
75 nigel 63 This is caused by the way shared library support works on those systems. You
76     need to add
77 nigel 75 .sp
78 nigel 63 -R/usr/local/lib
79 nigel 75 .sp
80     (for example) to the compile command to get round this problem.
81 ph10 99 .
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 ph10 861 Last updated: 10 January 2012
98     Copyright (c) 1997-2012 University of Cambridge.
99 ph10 99 .fi

Properties

Name Value
svn:eol-style native
svn:keywords "Author Date Id Revision Url"

webmaster@exim.org
ViewVC Help
Powered by ViewVC 1.1.12