README.md
# Re
Elixir library for writing regular expressions in functional style.
Features:
* Readable and human-friendly.
* Less error-prone.
* 100% compile-time, no overhead in runtime.
* But will fallback to runtime if needed (if you use dynamic content like variables).
* Well documented with lots of examples.
* Optimized and readable output.
## Installation
The package can be installed by adding `re` to your list of dependencies in `mix.exs`:
```elixir
def deps do
[
{:re, "~> 0.1.0"}
]
end
```
## Usage
```elixir
iex> require Re
iex> require Re.Chars
iex> regex =
...> Re.sequence([
...> Re.one_or_more(Re.any_of([Re.Chars.any_ascii, Re.any_of('.-_')])),
...> Re.text(".example.com")
...> ]) |> Re.compile()
~r/(?:[\\0-\x7f]|\.|\-|_)+\.example\.com/
iex> "hello.example.com" =~ regex
true
```
**Documentation**: [hexdocs.pm/re](https://hexdocs.pm/re)