New regex implementation for libc
There is a work in progress to replace our old libc-regex code with a new implementation. Work has been done to replace it with an implementation that is based on TRE. Some other implementations to consider, given the current state of this project:
- Oniguruma (Ruby uses this)
- Onigmo (Fork of Oniguruma, adds Perl extensions, Ruby and others switching to it)
- DragonflyBSD's import of libtre (2016 version of libtre with some improvements)
Status
| Item | Status |
|---|---|
| Compile TRE as part of libc | COMPLETED |
| Implement the Boyer-Moore algorithm for fast pattern matching | COMPLETED |
| Implement heuristic matching to speed up normal matches with the above algorithm | COMPLETED |
| Write regression tests | COMPLETED |
| Write manual pages | COMPLETED |
| Implement GNU-style permissive syntax | INCOMPLETE |
| Implement multi-pattern compiling and matching with an alternative interface | INCOMPLETE |