fuzzy-regex 0.1.0

High-performance fuzzy regular expression engine combining regex with Damerau-Levenshtein distance
Documentation
# Quantifiers

Control how many times to match a pattern.

## Basic Quantifiers

| Syntax | Description | Example |
|--------|-------------|---------|
| `*` | Zero or more | `ab*` matches "a", "ab", "abb" |
| `+` | One or more | `ab+` matches "ab", "abb" |
| `?` | Zero or one | `ab?` matches "a", "ab" |
| `{n}` | Exactly n | `a{3}` matches "aaa" |
| `{n,}` | At least n | `a{2,}` matches "aa", "aaa" |
| `{n,m}` | Between n and m | `a{2,4}` matches "aa", "aaa", "aaaa" |

## Lazy Quantifiers

Add `?` to make quantifiers lazy (match as few as possible):

```rust
use fuzzy_regex::FuzzyRegex;

// Greedy: matches as much as possible
let re1 = FuzzyRegex::new(r"<.+>").unwrap();

// Lazy: matches as little as possible  
let re2 = FuzzyRegex::new(r"<.+?>").unwrap();

let text = "<tag>more</tag>";
assert!(re1.find(text).unwrap().as_str() == "<tag>more</tag>");
assert!(re2.find(text).unwrap().as_str() == "<tag>");
```

## Possessive Quantifiers

Prevent backtracking (useful for performance):

```rust
use fuzzy_regex::FuzzyRegex;

// a*+ doesn't backtrack
let re = FuzzyRegex::new("a*+b").unwrap();
```

## Quantifiers with Fuzzy Matching

```rust
use fuzzy_regex::FuzzyRegex;

// Match "ab" with up to 1 error, repeated 1-3 times
let re = FuzzyRegex::new("(?:ab){e<=1}{1,3}").unwrap();
```