A SQLite extension for regular expressions written in pure Rust. Based on rusqlite and regex.
Add this to your Cargo.toml
:
[dependencies]
rusqlite_regex = "~0.2"
fn main() -> Result<(), rusqlite::Error> {
rusqlite_regex::enable_auto_extension()?;
let conn = rusqlite::Connection::open_in_memory()?;
conn.execute_batch("
CREATE TABLE test (id INTEGER PRIMARY KEY, name TEXT);
INSERT INTO test (name) VALUES ('I categorically deny having triskaidekaphobia.');
")?;
assert_eq!(1,
conn.query_row(
"SELECT id FROM test WHERE name REGEXP '\\b\\w{13}\\b'",
[], |row| row.get::<_, i64>(0)
)?
);
Ok(())
}
This project is licensed under either of
Apache License, Version 2.0, (LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0) MIT license (LICENSE-MIT or https://opensource.org/licenses/MIT)
at your option.