| 70 |
testoutput2 test results corresponding to testinput2 |
testoutput2 test results corresponding to testinput2 |
| 71 |
testoutput3 test results corresponding to testinput3 |
testoutput3 test results corresponding to testinput3 |
| 72 |
testoutput4 test results corresponding to testinput4 |
testoutput4 test results corresponding to testinput4 |
| 73 |
|
dll.mk for Win32 DLL |
| 74 |
|
pcre.def ditto |
| 75 |
|
|
| 76 |
To build PCRE on a Unix system, first edit Makefile for your system. It is a |
To build PCRE on a Unix system, first edit Makefile for your system. It is a |
| 77 |
fairly simple make file, and there are some comments near the top, after the |
fairly simple make file, and there are some comments near the top, after the |
| 88 |
It should be straightforward to build PCRE on any system that has a Standard C |
It should be straightforward to build PCRE on any system that has a Standard C |
| 89 |
compiler. |
compiler. |
| 90 |
|
|
| 91 |
|
Some help in building a Win32 DLL of PCRE in GnuWin32 environments was |
| 92 |
|
contributed by Paul.Sokolovsky@technologist.com. These environments are |
| 93 |
|
Mingw32 (http://www.xraylith.wisc.edu/~khan/software/gnu-win32/) and |
| 94 |
|
CygWin (http://sourceware.cygnus.com/cygwin/). Paul comments: |
| 95 |
|
|
| 96 |
|
For CygWin, set CFLAGS=-mno-cygwin, and do 'make dll'. You'll get |
| 97 |
|
pcre.dll (containing pcreposix also), libpcre.dll.a, and dynamically |
| 98 |
|
linked pgrep and pcretest. If you have /bin/sh, run RunTest (three |
| 99 |
|
main test go ok, locale not supported). |
| 100 |
|
|
| 101 |
To test PCRE, run the RunTest script in the pcre directory. This can also be |
To test PCRE, run the RunTest script in the pcre directory. This can also be |
| 102 |
run by "make runtest". It runs the pcretest test program (which is documented |
run by "make runtest". It runs the pcretest test program (which is documented |
| 103 |
below) on each of the testinput files in turn, and compares the output with the |
below) on each of the testinput files in turn, and compares the output with the |
| 232 |
/E, and /X set PCRE_ANCHORED, PCRE_DOLLAR_ENDONLY, and PCRE_EXTRA respectively. |
/E, and /X set PCRE_ANCHORED, PCRE_DOLLAR_ENDONLY, and PCRE_EXTRA respectively. |
| 233 |
|
|
| 234 |
Searching for all possible matches within each subject string can be requested |
Searching for all possible matches within each subject string can be requested |
| 235 |
by the /g or /G modifier. The /g modifier behaves similarly to the way it does |
by the /g or /G modifier. After finding a match, PCRE is called again to search |
| 236 |
in Perl. After finding a match, PCRE is called again to search the remainder of |
the remainder of the subject string. The difference between /g and /G is that |
| 237 |
the subject string. The difference between /g and /G is that the former uses |
the former uses the startoffset argument to pcre_exec() to start searching at |
| 238 |
the start_offset argument to pcre_exec() to start searching at a new point |
a new point within the entire string (which is in effect what Perl does), |
| 239 |
within the entire string, whereas the latter passes over a shortened substring. |
whereas the latter passes over a shortened substring. This makes a difference |
| 240 |
This makes a difference to the matching process if the pattern begins with a |
to the matching process if the pattern begins with a lookbehind assertion |
| 241 |
lookbehind assertion (including \b or \B). |
(including \b or \B). |
| 242 |
|
|
| 243 |
|
If any call to pcre_exec() in a /g or /G sequence matches an empty string, the |
| 244 |
|
next call is done with the PCRE_NOTEMPTY flag set so that it cannot match an |
| 245 |
|
empty string again. This imitates the way Perl handles such cases when using |
| 246 |
|
the /g modifier or the split() function. |
| 247 |
|
|
| 248 |
There are a number of other modifiers for controlling the way pcretest |
There are a number of other modifiers for controlling the way pcretest |
| 249 |
operates. |
operates. |