Lrexlib Core Concepts and Argument Handling
masterLrexlib provides Lua bindings for various regex libraries (POSIX, PCRE, PCRE2, GNU, TRE, and Oniguruma).
Argument Rules
- Optional Arguments: Most functions use optional arguments. You can supply
nilor omit trailing optional arguments to use the default value. - Regex Patterns: Functions accepting a pattern string also accept a compiled regex object (userdata) produced by
rex.new. If a compiled object is passed, the compilation flags (cf) and library-specific arguments (larg...) are ignored. - Subject Types: Functions accepting a string subject also accept tables or userdata with a
topointer()method and a__lenmetamethod (e.g.,alienbuffers). - Error Handling: Providing an invalid regex pattern will generate a Lua error.
Default Flags
- Compilation Flags (
cf) default to:- POSIX/TRE:
REG_EXTENDED - PCRE/PCRE2:
0 - Oniguruma:
ONIG_OPTION_NONE - GNU:
SYNTAX_POSIX_EXTENDED
- POSIX/TRE:
- Execution Flags (
ef) default to:- Standard POSIX:
0 - POSIX with
REG_STARTENDsupport:REG_STARTEND - PCRE/PCRE2/Oniguruma/TRE:
0
- Standard POSIX: