[go: up one dir, main page]

regex 0.1.35

An implementation of regular expressions for Rust.
Documentation
extern crate aho_corasick;
extern crate regex;

// use aho_corasick::AcAutomaton;

fn main() {
    // let mut input = String::with_capacity(10 * 1024 * 1024);
    // io::stdin().read_to_string(&mut input).unwrap();
    // let input = include_str!("/tmp/regex-dna-input");
    let input = include_str!("/home/andrew/tmp/regex-dna.fasta");
    // let re = r">[^\n]*\n|\n";
    // let re = r"[ -~]*ABCDEFGHIJKLMNOPQRSTUVWXYZ$";
    // let re = "H";
    // let re = "agggtaaa|tttaccct";
    let re = "[cgt]gggtaaa|tttaccc[acg]";
    // let re = "a[act]ggtaaa|tttacc[agt]t";
    let re = regex::Regex::new(re).unwrap();
    // re.replace_all(&input, ::regex::NoExpand("(a|c|t)"));
    // re.replace_all(&input, ::regex::NoExpand(""));
    println!("{}", re.find_iter(&input).count());

    // let aut = AcAutomaton::new(vec!["agggtaaa", "tttaccct"]);
    // let aut = AcAutomaton::new(vec![
        // "cgggtaaa", "ggggtaaa", "tgggtaaa",
        // "tttaccca", "tttacccc", "tttacccg",
    // ]);
    // println!("{}", aut.find(&input).count());
}