2 unstable releases

0.2.0 Aug 31, 2024
0.1.0 Aug 31, 2024

#1314 in Database interfaces

MIT/Apache

11KB
138 lines

rusqlite_regex

Crate GitHub last commit GitHub issues GitHub pull requests GitHub

Description

A SQLite extension for regular expressions written in pure Rust. Based on rusqlite and regex.

Usage

Add this to your Cargo.toml:

[dependencies]
rusqlite_regex = "~0.2"

Example

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(())
}

License

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.

Dependencies

~30MB
~476K SLoC