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>