Probably also worth noting: you don't need to build (many kinds of) extensions as C-compatible code and separate .so files that you load.
SQLite is an in-process database. You can give it a callback func to execute. So your regex-extract can literally just call a function in your code: https://sqlite.org/appfunc.html
edit: Python's stdlib documentation concisely shows how easy this can be: https://docs.python.org/3/library/sqlite3.html#sqlite3.Conne... Basically every SQLite library should have something similar. This extreme ease of extending is a big part of why SQLite has so little built-in.
This seems like I can add a lot more functions to it, not just regex extract.
Came here to complain and learned something useful.