mirror of
https://github.com/PCRE2Project/pcre2.git
synced 2025-10-17 23:57:23 +08:00

Since a608946
(Additional PCRE2_EXTRA_ASCII_xxx code, 2023-02-01)
PCRE2_EXTRA_ASCII_BSD could be used to restrict \d to ASCII causing
the following inconsistent behaviour in UCP mode.
PCRE2 version 10.43-DEV 2023-01-15
re> /\d/utf,ucp,ascii_bsd
data> ٣
No match
data>
re> /[[:digit:]]/utf,ucp,ascii_bsd
data> ٣
0: \x{663}
It has been suggested[1] that the change to match \p{Nd} when Unicode
is enabled for [:digit:] might had been unintentional and a bug, as
[:digit:] should be able to be POSIX compatible, so add a new flag
PCRE2_EXTRA_ASCII_DIGIT to avoid changing its definition in UCP mode.
[1] https://lore.kernel.org/git/CANgJU+U+xXsh9psd0z5Xjr+Se5QgdKkjQ7LUQ-PdUULSN3n4+g@mail.gmail.com/
56 lines
1.9 KiB
Groff
56 lines
1.9 KiB
Groff
.TH PCRE2_SET_COMPILE_EXTRA_OPTIONS 3 "03 February 2023" "PCRE2 10.43"
|
|
.SH NAME
|
|
PCRE2 - Perl-compatible regular expressions (revised API)
|
|
.SH SYNOPSIS
|
|
.rs
|
|
.sp
|
|
.B #include <pcre2.h>
|
|
.PP
|
|
.nf
|
|
.B int pcre2_set_compile_extra_options(pcre2_compile_context *\fIccontext\fP,
|
|
.B " uint32_t \fIextra_options\fP);"
|
|
.fi
|
|
.
|
|
.SH DESCRIPTION
|
|
.rs
|
|
.sp
|
|
This function sets additional option bits for \fBpcre2_compile()\fP that are
|
|
housed in a compile context. It completely replaces all the bits. The extra
|
|
options are:
|
|
.sp
|
|
PCRE2_EXTRA_ALLOW_LOOKAROUND_BSK Allow \eK in lookarounds
|
|
.\" JOIN
|
|
PCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES Allow \ex{d800} to \ex{dfff}
|
|
in UTF-8 and UTF-32 modes
|
|
.\" JOIN
|
|
PCRE2_EXTRA_ALT_BSUX Extended alternate \eu, \eU, and
|
|
\ex handling
|
|
PCRE2_EXTRA_ASCII_BSD \ed remains ASCII in UCP mode
|
|
PCRE2_EXTRA_ASCII_BSS \es remains ASCII in UCP mode
|
|
PCRE2_EXTRA_ASCII_BSW \ew remains ASCII in UCP mode
|
|
.\" JOIN
|
|
PCRE2_EXTRA_ASCII_DIGIT [:digit:] POSIX class remains ASCII
|
|
in UCP mode
|
|
.\" JOIN
|
|
PCRE2_EXTRA_ASCII_POSIX POSIX classes remain ASCII in
|
|
UCP mode
|
|
.\" JOIN
|
|
PCRE2_EXTRA_BAD_ESCAPE_IS_LITERAL Treat all invalid escapes as
|
|
a literal following character
|
|
.\" JOIN
|
|
PCRE2_EXTRA_CASELESS_RESTRICT Disable mixed ASCII/non-ASCII
|
|
case folding
|
|
PCRE2_EXTRA_ESCAPED_CR_IS_LF Interpret \er as \en
|
|
PCRE2_EXTRA_MATCH_LINE Pattern matches whole lines
|
|
PCRE2_EXTRA_MATCH_WORD Pattern matches "words"
|
|
.sp
|
|
There is a complete description of the PCRE2 native API in the
|
|
.\" HREF
|
|
\fBpcre2api\fP
|
|
.\"
|
|
page and a description of the POSIX API in the
|
|
.\" HREF
|
|
\fBpcre2posix\fP
|
|
.\"
|
|
page.
|