Skip to content

A library for creating complex, composable regular expressions with the reader & writer in mind. 🔍

License

Notifications You must be signed in to change notification settings

tylerbarker/verbalex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Verbalex

Hex pm

Verbalex is a library for creating complex regular expressions with the reader & writer in mind. It does not aim to replace Elixir's already excellent Regex module for operating on regex. Instead, it focuses only on building the ~r/regexes/ themselves.

alias Verbalex, as: Vlx

protocols = ""
  |> Vlx.find("http")
  |> Vlx.maybe("s")
  |> Vlx.then("://")
  |> Vlx.capture_as("protocols")
  |> Regex.compile!()

# ~r/(?<protocols>(?:http)s?(?::\/\/))/

Regex.named_captures(protocols, "https://github.com/tylerbarker")
# %{"protocols" => "https://"}

Installation

def deps do
  [
    {:verbalex, "~> 0.3.0"}
  ]
end

Docs

Documentation can be found at https://hexdocs.pm/verbalex.

Acknowledgements

Verbalex is essentially an Elixir port of the popular Verbal Expressions family of libraries, while also taking some inspiration from Simple Regex.

Thanks to Max Szengal for laying down the groundwork in 2013 with ElixirVerbalExpressions.

Contributing

For issues, comments or feedback please first create an issue.

About

A library for creating complex, composable regular expressions with the reader & writer in mind. 🔍

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages