Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
PCRE2SAMPLE(3)		   Library Functions Manual		PCRE2SAMPLE(3)

NAME
       PCRE2 - Perl-compatible regular expressions (revised API)

PCRE2 SAMPLE PROGRAM

       A  simple, complete demonstration program to get	you started with using
       PCRE2 is	supplied in the	file pcre2demo.c in the	src directory  in  the
       PCRE2 distribution. A listing of	this program is	given in the pcre2demo
       documentation. If you do	not have a copy	of the PCRE2 distribution, you
       can save	this listing to	re-create the contents of pcre2demo.c.

       The  demonstration  program compiles the	regular	expression that	is its
       first argument, and matches it against the subject string in its	second
       argument. No PCRE2 options are set, and default	character  tables  are
       used. If	matching succeeds, the program outputs the portion of the sub-
       ject  that  matched,  together  with  the contents of any captured sub-
       strings.

       If the -g option	is given on the	command	line, the program then goes on
       to check	for further matches of the same	regular	expression in the same
       subject string. The logic is a little bit tricky	because	of the	possi-
       bility  of  matching an empty string. Comments in the code explain what
       is going	on.

       The code	in pcre2demo.c is an 8-bit program that	uses the  PCRE2	 8-bit
       library.	 It  handles  strings  and characters that are stored in 8-bit
       code units.  By default,	one character corresponds to  one  code	 unit,
       but  if	the  pattern starts with "(*UTF)", both	it and the subject are
       treated as UTF-8	strings, where characters  may	occupy	multiple  code
       units.

       If  PCRE2  is installed in the standard include and library directories
       for your	operating system, you should be	able to	compile	the demonstra-
       tion program using a command like this:

	 cc -o pcre2demo pcre2demo.c -lpcre2-8

       If PCRE2	is installed elsewhere,	you may	need to	add additional options
       to the command line. For	example, on a Unix-like	system that has	 PCRE2
       installed  in /usr/local, you can compile the demonstration program us-
       ing a command like this:

	 cc -o pcre2demo -I/usr/local/include pcre2demo.c \
	    -L/usr/local/lib -lpcre2-8

       Once you	have built the demonstration program, you can run simple tests
       like this:

	 ./pcre2demo 'cat|dog' 'the cat	sat on the mat'
	 ./pcre2demo -g	'cat|dog' 'the dog sat on the cat'

       Note that there is a  much  more	 comprehensive	test  program,	called
       pcre2test,  which supports many more facilities for testing regular ex-
       pressions using all three PCRE2 libraries (8-bit, 16-bit,  and  32-bit,
       though  not all three need be installed). The pcre2demo program is pro-
       vided as	a relatively simple coding example.

       If you try to run pcre2demo when	PCRE2 is not installed in the standard
       library directory, you may get an error like  this  on  some  operating
       systems (e.g. Solaris):

	 ld.so.1: pcre2demo: fatal: libpcre2-8.so.0: open failed: No such file
       or directory

       This  is	 caused	 by the	way shared library support works on those sys-
       tems. You need to add

	 -R/usr/local/lib

       (for example) to	the compile command to get round this problem.

AUTHOR

       Philip Hazel
       Retired from University Computing Service
       Cambridge, England.

REVISION

       Last updated: 14	November 2023
       Copyright (c) 1997-2016 University of Cambridge.

PCRE2 10.45		       14 November 2023			PCRE2SAMPLE(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=pcre2sample&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help