]>
Projects (at) Tadryanom (dot) Me - AdrOS.git/commit
feat: Phase 3 — POSIX regex engine (regcomp/regexec/regfree/regerror)
Add minimal POSIX regex engine to ulibc:
- regex.h: Full POSIX regex API (regex_t, regmatch_t, REG_EXTENDED,
REG_ICASE, REG_NEWLINE, REG_NOSUB, error codes)
- regex.c: Recursive backtracking matcher supporting:
- BRE and ERE modes
- Literals, . (any), ^ (BOL), $ (EOL)
- Character classes [abc], [^abc], ranges [a-z]
- POSIX classes [:alpha:] [:digit:] [:alnum:] [:space:] [:upper:]
[:lower:] [:print:] [:graph:] [:cntrl:] [:punct:] [:xdigit:] [:blank:]
- Quantifiers: * (BRE/ERE), + ? (ERE only)
- Alternation: | (ERE), \| (BRE)
- Grouping: () (ERE), \(\) (BRE)
- Submatch capture via regmatch_t
- Case-insensitive matching (REG_ICASE)
- regerror() with human-readable error messages
Tests: 101/101 smoke, 64/64 host utils, cppcheck clean