Added missing files to each core and logic makefiles (NPOTB).
3 PCRE - Perl-compatible regular expressions
4 .SH "PCRE REGULAR EXPRESSION SYNTAX SUMMARY"
7 The full syntax and semantics of the regular expressions that are supported by
8 PCRE are described in the
12 documentation. This document contains just a quick-reference summary of the
19 \ex where x is non-alphanumeric is a literal x
20 \eQ...\eE treat enclosed characters as literal
26 \ea alarm, that is, the BEL character (hex 07)
27 \ecx "control-x", where x is any character
31 \er carriage return (hex 0D)
33 \eddd character with octal code ddd, or backreference
34 \exhh character with hex code hh
35 \ex{hhh..} character with hex code hhh..
41 . any character except newline;
42 in dotall mode, any character whatsoever
43 \eC one byte, even in UTF-8 mode (best avoided)
45 \eD a character that is not a decimal digit
46 \eh a horizontal whitespace character
47 \eH a character that is not a horizontal whitespace character
48 \ep{\fIxx\fP} a character with the \fIxx\fP property
49 \eP{\fIxx\fP} a character without the \fIxx\fP property
50 \eR a newline sequence
51 \es a whitespace character
52 \eS a character that is not a whitespace character
53 \ev a vertical whitespace character
54 \eV a character that is not a vertical whitespace character
55 \ew a "word" character
56 \eW a "non-word" character
57 \eX an extended Unicode sequence
59 In PCRE, \ed, \eD, \es, \eS, \ew, and \eW recognize only ASCII characters.
62 .SH "GENERAL CATEGORY PROPERTY CODES FOR \ep and \eP"
91 Pc Connector punctuation
95 Pi Initial punctuation
102 Sm Mathematical symbol
107 Zp Paragraph separator
111 .SH "SCRIPT NAMES FOR \ep AND \eP"
193 .SH "CHARACTER CLASSES"
196 [...] positive character class
197 [^...] negative character class
198 [x-y] range (can be used for hex characters)
199 [[:xxx:]] positive POSIX named set
200 [[:^xxx:]] negative POSIX named set
206 cntrl control character
208 graph printing, excluding space
209 lower lower case letter
210 print printing, including space
211 punct printing, excluding alphanumeric
213 upper upper case letter
215 xdigit hexadecimal digit
217 In PCRE, POSIX character set names recognize only ASCII characters. You can use
218 \eQ...\eE inside a character class.
225 ?+ 0 or 1, possessive
228 *+ 0 or more, possessive
231 ++ 1 or more, possessive
234 {n,m} at least n, no more than m, greedy
235 {n,m}+ at least n, no more than m, possessive
236 {n,m}? at least n, no more than m, lazy
237 {n,} n or more, greedy
238 {n,}+ n or more, possessive
239 {n,}? n or more, lazy
242 .SH "ANCHORS AND SIMPLE ASSERTIONS"
245 \eb word boundary (only ASCII letters recognized)
246 \eB not a word boundary
248 also after internal newline in multiline mode
251 also before newline at end of subject
252 also before internal newline in multiline mode
254 also before newline at end of subject
256 \eG first matching position in subject
259 .SH "MATCH POINT RESET"
262 \eK reset start of match
274 (...) capturing group
275 (?<name>...) named capturing group (Perl)
276 (?'name'...) named capturing group (Perl)
277 (?P<name>...) named capturing group (Python)
278 (?:...) non-capturing group
279 (?|...) non-capturing group; reset group numbers for
280 capturing groups in each alternative
286 (?>...) atomic, non-capturing group
294 (?#....) comment (not nestable)
301 (?J) allow duplicate names
303 (?s) single line (dotall)
304 (?U) default ungreedy (lazy)
305 (?x) extended (ignore white space)
306 (?-...) unset option(s)
308 The following is recognized only at the start of a pattern or after one of the
309 newline-setting options with similar syntax:
311 (*UTF8) set UTF-8 mode
314 .SH "LOOKAHEAD AND LOOKBEHIND ASSERTIONS"
317 (?=...) positive look ahead
318 (?!...) negative look ahead
319 (?<=...) positive look behind
320 (?<!...) negative look behind
322 Each top-level branch of a look behind must be of a fixed length.
328 \en reference by number (can be ambiguous)
329 \egn reference by number
330 \eg{n} reference by number
331 \eg{-n} relative reference by number
332 \ek<name> reference by name (Perl)
333 \ek'name' reference by name (Perl)
334 \eg{name} reference by name (Perl)
335 \ek{name} reference by name (.NET)
336 (?P=name) reference by name (Python)
339 .SH "SUBROUTINE REFERENCES (POSSIBLY RECURSIVE)"
342 (?R) recurse whole pattern
343 (?n) call subpattern by absolute number
344 (?+n) call subpattern by relative number
345 (?-n) call subpattern by relative number
346 (?&name) call subpattern by name (Perl)
347 (?P>name) call subpattern by name (Python)
348 \eg<name> call subpattern by name (Oniguruma)
349 \eg'name' call subpattern by name (Oniguruma)
350 \eg<n> call subpattern by absolute number (Oniguruma)
351 \eg'n' call subpattern by absolute number (Oniguruma)
352 \eg<+n> call subpattern by relative number (PCRE extension)
353 \eg'+n' call subpattern by relative number (PCRE extension)
354 \eg<-n> call subpattern by relative number (PCRE extension)
355 \eg'-n' call subpattern by relative number (PCRE extension)
358 .SH "CONDITIONAL PATTERNS"
361 (?(condition)yes-pattern)
362 (?(condition)yes-pattern|no-pattern)
364 (?(n)... absolute reference condition
365 (?(+n)... relative reference condition
366 (?(-n)... relative reference condition
367 (?(<name>)... named reference condition (Perl)
368 (?('name')... named reference condition (Perl)
369 (?(name)... named reference condition (PCRE)
370 (?(R)... overall recursion condition
371 (?(Rn)... specific group recursion condition
372 (?(R&name)... specific recursion condition
373 (?(DEFINE)... define subpattern for reference
374 (?(assert)... assertion condition
377 .SH "BACKTRACKING CONTROL"
380 The following act immediately they are reached:
382 (*ACCEPT) force successful match
383 (*FAIL) force backtrack; synonym (*F)
385 The following act only when a subsequent match failure causes a backtrack to
386 reach them. They all force a match failure, but they differ in what happens
387 afterwards. Those that advance the start-of-match point do so only if the
388 pattern is not anchored.
390 (*COMMIT) overall failure, no advance of starting point
391 (*PRUNE) advance to next starting character
392 (*SKIP) advance start to current matching position
393 (*THEN) local failure, backtrack to next alternation
396 .SH "NEWLINE CONVENTIONS"
399 These are recognized only at the very start of the pattern or after a
400 (*BSR_...) or (*UTF8) option.
402 (*CR) carriage return only
404 (*CRLF) carriage return followed by linefeed
405 (*ANYCRLF) all three of the above
406 (*ANY) any Unicode newline sequence
409 .SH "WHAT \eR MATCHES"
412 These are recognized only at the very start of the pattern or after a
413 (*...) option that sets the newline convention or UTF-8 mode.
415 (*BSR_ANYCRLF) CR, LF, or CRLF
416 (*BSR_UNICODE) any Unicode newline sequence
423 (?Cn) callout with data n
429 \fBpcrepattern\fP(3), \fBpcreapi\fP(3), \fBpcrecallout\fP(3),
430 \fBpcrematching\fP(3), \fBpcre\fP(3).
438 University Computing Service
439 Cambridge CB2 3QH, England.
447 Last updated: 11 April 2009
448 Copyright (c) 1997-2009 University of Cambridge.