Skip to content

jusleg/regexify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Regexify Gem Version codebeat badge

View docs

Having fun with regex. Is it possible? I think so.

Installation

gem install regexify

Usage

Regexify provides a simple interface to write regex in ruby

Four methods can be used to create the regex:

  • begin_with
  • then
  • not
  • end_with

And the regex method will convert it to a Regexp object.

You can use strings/characters using these methods as well as symbols from the list below:

  • number: 0-9
  • uppercase: A-Z
  • lowercase: a-z
  • letter: a-zA-Z
  • alphanumeric: a-zA-Z0-9
  • anything: .
  • whitespace: \s
  • tab: \t
  • space:

Range and exactly can be used to specify a number of occurrences.

Here is a basic example:

Regexify.new
  .begin_with('hello', 'hola', range: [2,3])
  .then(',')
  .then('world', exactly: 2)
  .end_with('!', range: [1,]).regex

 => /^(hello|hola){2,3},(world){2}!{1,}$/ 
 
Regexify.new
  .begin_with(:uppercase, exactly: 3)
  .then(:number, '-', range: [2,10])
  .not(:alphanumeric, exactly:1)
  .end_with('!').regex

 => /^[A-Z]{3}[0-9-]{2,10}[^a-zA-Z0-9]!$/

This project was heavily inspired by regularity

LICENSE

This gem is MIT licensed, please see LICENSE for more information.

About

Compact and flexible syntax to generate regular expressions

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages