BOUNDL no Like BOUND/BOUNDU, but \w and \W are
defined by current locale
BOUNDU no Match "" at any boundary of a given type
- using Unicode rules
+ using /u rules.
BOUNDA no Match "" at any boundary between \w\W or
\W\w, where \w is [_a-zA-Z0-9]
NBOUND no Like NBOUNDA for non-utf8, otherwise match
NBOUNDL no Like NBOUND/NBOUNDU, but \w and \W are
defined by current locale
NBOUNDU no Match "" at any non-boundary of a given
- type using using Unicode rules
+ type using using /u rules.
NBOUNDA no Match "" betweeen any \w\w or \W\W, where
\w is [_a-zA-Z0-9]
ANYOFPOSIXL sv Like ANYOFL, but matches [[:posix:]]
charclass_ classes
posixl
+
+ ANYOFH sv 1 Like ANYOF, but only has "High" matches,
+ none in the bitmap; the flags field
+ contains the lowest matchable UTF-8 start
+ byte
+ ANYOFHb sv 1 Like ANYOFH, but all matches share the same
+ UTF-8 start byte, given in the flags field
+ ANYOFHr sv 1 Like ANYOFH, but the flags field contains
+ packed bounds for all matchable UTF-8 start
+ bytes.
+
ANYOFM byte 1 Like ANYOF, but matches an invariant byte
as determined by the mask and arg
NANYOFM byte 1 complement of ANYOFM
NPOSIXU none complement of POSIXU, [[:^class:]]
NPOSIXA none complement of POSIXA, [[:^class:]]
- ASCII none [[:ascii:]]
- NASCII none [[:^ascii:]]
-
CLUMP no Match any extended grapheme cluster
sequence
EXACTL str Like EXACT, but /l is in effect (used so
locale-related warnings can be checked
for).
- EXACTF str Match this non-UTF-8 string (not guaranteed
- to be folded) using /id rules (w/len).
- EXACTFL str Match this string (not guaranteed to be
- folded) using /il rules (w/len).
- EXACTFU str Match this string (folded iff in UTF-8,
- length in folding doesn't change if not in
- UTF-8) using /iu rules (w/len).
- EXACTFAA str Match this string (not guaranteed to be
- folded) using /iaa rules (w/len).
-
- EXACTFU_SS str Match this string (folded iff in UTF-8,
- length in folding may change even if not in
- UTF-8) using /iu rules (w/len).
- EXACTFLU8 str Rare circumstances: like EXACTFU, but is
- under /l, UTF-8, folded, and everything in
- it is above 255.
- EXACTFAA_NO_TRIE str Match this string (which is not trie-able;
- not guaranteed to be folded) using /iaa
- rules (w/len).
-
- EXACT_ONLY8 str Like EXACT, but no strings that aren't in
- UTF-8 can match
- EXACTFU_ONLY8 str Like EXACTFU, but no strings that aren't in
- UTF-8 can match
+ EXACTF str Match this string using /id rules (w/len);
+ (string not UTF-8, not guaranteed to be
+ folded).
+ EXACTFL str Match this string using /il rules (w/len);
+ (string not guaranteed to be folded).
+ EXACTFU str Match this string using /iu rules (w/len);
+ (string folded iff in UTF-8; non-UTF8
+ folded length <= unfolded).
+ EXACTFAA str Match this string using /iaa rules (w/len)
+ (string folded iff in UTF-8; non-UTF8
+ folded length <= unfolded).
+
+ EXACTFUP str Match this string using /iu rules (w/len);
+ (string not UTF-8, not guaranteed to be
+ folded; and its Problematic).
+
+ EXACTFLU8 str Like EXACTFU, but use /il, UTF-8, folded,
+ and everything in it is above 255.
+ EXACTFAA_NO_TRIE str Match this string using /iaa rules (w/len)
+ (string not UTF-8, not guaranteed to be
+ folded, not currently trie-able).
+
+ EXACT_ONLY8 str Like EXACT, but only UTF-8 encoded targets
+ can match
+ EXACTFU_ONLY8 str Like EXACTFU, but only UTF-8 encoded
+ targets can match
+
+ EXACTFU_S_EDGE str /di rules, but nothing in it precludes /ui,
+ except begins and/or ends with [Ss];
+ (string not UTF-8; compile-time only).
# Do nothing types
SRCLOSE none Close preceding SROPEN
REF num 1 Match some already matched string
- REFF num 1 Match already matched string, folded using
- native charset rules for non-utf8
- REFFL num 1 Match already matched string, folded in
- loc.
- REFFU num 1 Match already matched string, folded using
- unicode rules for non-utf8
- REFFA num 1 Match already matched string, folded using
- unicode rules for non-utf8, no mixing
- ASCII, non-ASCII
+ REFF num 1 Match already matched string, using /di
+ rules.
+ REFFL num 1 Match already matched string, using /li
+ rules.
+ REFFU num 1 Match already matched string, usng /ui.
+ REFFA num 1 Match already matched string, using /aai
+ rules.
# Named references. Code in regcomp.c assumes that these all are after
# the numbered references
- NREF no-sv 1 Match some already matched string
- NREFF no-sv 1 Match already matched string, folded using
- native charset rules for non-utf8
- NREFFL no-sv 1 Match already matched string, folded in
- loc.
- NREFFU num 1 Match already matched string, folded using
- unicode rules for non-utf8
- NREFFA num 1 Match already matched string, folded using
- unicode rules for non-utf8, no mixing
- ASCII, non-ASCII
+ REFN no-sv 1 Match some already matched string
+ REFFN no-sv 1 Match already matched string, using /di
+ rules.
+ REFFLN no-sv 1 Match already matched string, using /li
+ rules.
+ REFFUN num 1 Match already matched string, using /ui
+ rules.
+ REFFAN num 1 Match already matched string, using /aai
+ rules.
# Support for long RE
LONGJMP off 1 1 Jump far away.
BRANCHJ off 1 1 BRANCH with long offset.
# Special Case Regops
- IFMATCH off 1 1 Succeeds if the following matches.
- UNLESSM off 1 1 Fails if the following matches.
+ IFMATCH off 1 1 Succeeds if the following matches; non-zero
+ flags "f", next_off "o" means lookbehind
+ assertion starting "f..(f-o)" characters
+ before current
+ UNLESSM off 1 1 Fails if the following matches; non-zero
+ flags "f", next_off "o" means lookbehind
+ assertion starting "f..(f-o)" characters
+ before current
SUSPEND off 1 1 "Independent" sub-RE.
IFTHEN off 1 1 Switch, should be preceded by switcher.
GROUPP num 1 Whether the group matched.
GOSUB num/ofs 2L recurse to paren arg1 at (signed) ofs arg2
# Special conditionals
- NGROUPP no-sv 1 Whether the group matched.
+ GROUPPN no-sv 1 Whether the group matched.
INSUBP num 1 Whether we are in a specific recurse.
DEFINEP none 1 Never execute directly.