# 🔮 Write readable regular expressions

The crate provides a clean and readable way of writing your regex in the Rust programming language:

Without `pretty_regex` With `pretty_regex`
``` \d{5}(-\d{4})? ``` ```rs digit() * 5 + (just("-") + digit() * 4).optional() ```
``` ^(?:\d){4}(?:(?:\-)(?:\d){2}){2}$ ``` ```rs beginning() + digit() * 4 + (just("-") + digit() * 2) * 2 + ending() ```
``` rege(x(es)?|xps?) ``` ```rs just("rege") + (just("x") + just("es").optional()) | (just("xp") + just("s").optional()) ```

How to use the crate?

To convert a PrettyRegex into a regex from regex crate, you can call to_regex or to_regex_or_panic:

```rs use pretty_regex::digit;

let regex = (digit() + asciialphabetic().optional()).toregexorpanic();

assert!(regex.is_match("3")); ```