• Home
  • Raw
  • Download

Lines Matching +full:regex +full:- +full:not

1 regex-automata
8 …status](https://github.com/BurntSushi/regex-automata/workflows/ci/badge.svg)](https://github.com/B…
9 [![on crates.io](https://meritbadge.herokuapp.com/regex-automata)](https://crates.io/crates/regex-a…
10 ![Minimum Supported Rust Version 1.41](https://img.shields.io/badge/rustc-1.41-green)
12 Dual-licensed under MIT or the [UNLICENSE](https://unlicense.org/).
17 https://docs.rs/regex-automata
26 regex-automata = "0.1"
36 ### Example: basic regex searching
38 This example shows how to compile a regex using the default configuration
42 use regex_automata::Regex;
44 let re = Regex::new(r"[0-9]{4}-[0-9]{2}-[0-9]{2}").unwrap();
45 let text = b"2018-12-24 2016-10-08";
51 please see the [docs](https://docs.rs/regex-automata).
69 DFA. (So that's 4 DFAs in total for each regex.)
72 as you would any regex.
78 [`ucd-generate`](https://github.com/BurntSushi/ucd-generate)
79 tool will do the first step for you with its `dfa` or `regex` sub-commands.
84 * `std` - **Enabled** by default. This enables the ability to compile finite
85 automata. This requires the `regex-syntax` dependency. Without this feature
88 * `transducer` - **Disabled** by default. This provides implementations of the
94 ### Differences with the regex crate
96 The main goal of the [`regex`](https://docs.rs/regex) crate is to serve as a
106 of the regex pattern. While most patterns do not exhibit worst case
109 not be compiled with this library. (In the future, the API may expose an
111 * This crate does not support sub-match extraction, which can be achieved with
112 the regex crate's "captures" API. This may be added in the future, but is
114 * While the regex crate doesn't necessarily sport fast compilation times, the
118 almost 5MB of memory! (Compiling a sparse regex takes about the same time
119 but only uses about 500KB of memory.) Conversly, compiling the same regex
120 without Unicode support, e.g., `(?-u)\w{3}`, takes under 1 millisecond and
123 * This crate does not support regex sets.
124 * This crate does not support zero-width assertions such as `^`, `$`, `\b` or
126 * As a lower level crate, this library does not do literal optimizations. In
130 * There is no `&str` API like in the regex crate. In this crate, all APIs
132 UTF-8 boundaries, unless `RegexBuilder::allow_invalid_utf8` is enabled.
142 deserialize pre-compiled regexes.
143 * Since this crate builds DFAs ahead of time, it will generally out-perform
144 the `regex` crate on equivalent tasks. The performance difference is likely
145 not large. However, because of a complex set of optimizations in the regex
150 even less than what the regex crate uses.
153 need the end of a match and not the start of a match, then you can use a DFA
154 directly without building a `Regex`, which always requires a second DFA to
176 it might not be worth doing.
177 * Add support for regex sets. It should be possible to do this by "simply"
179 each match, similar to how Aho-Corasick works. I think the long pole in the
181 introduce extra overhead into the non-regex-set case without duplicating a
191 to make small fixed length look-around work? It would be really nice to
194 src/codegen.rs that is thoroughly bit-rotted. At the time, I was
195 experimenting with whether or not codegen would significant decrease the size
209 * Make a decision on whether or not there is room for literal optimizations
210 in this crate. My original intent was to not let this crate sink down into
220 If we could know whether a regex will exhibit state explosion or not, then
221 we could make an intelligent decision about whether to ahead-of-time compile
223-Shutu/publication/229032602_Characterization_of_a_global_germplasm_collection_and_its_potential_u…