Skip to content

Instantly share code, notes, and snippets.

@focusaurus
Last active October 17, 2017 00:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save focusaurus/652eb9112f264ac098bea8c0c6ba13ed to your computer and use it in GitHub Desktop.
Save focusaurus/652eb9112f264ac098bea8c0c6ba13ed to your computer and use it in GitHub Desktop.
Regular Expression Registry

What

A registry of regular expressions

Base Data

  • The expression string
  • taxonomy/category
  • supported engines
  • a set of test inputs
    • expected to match or not
    • expected groups
    • notes
      • especially security considerations and important edge cases
    • spec if it complies to an RFC/ISO/ETC standard
    • some sort of precision enum? strict/loose

Web App Features

  • browse
  • search
  • link to existing tools for interactive dev/test
  • community
    • up/down voting?
    • OR maybe just use pull requests and +1s to improve/replace an expression
    • comments

Tech Stack

  • Data store
    • flat files in a git repo
    • postgresql
  • Maybe static site generator
  • maybe PaaS like heroku

Open Questions

  • Does this already exist?
  • Consider spectrum of crowdsource vs curated
    • I think I'm leaning toward the more curated end of the spectrum
    • A lot of the value for me is in the reliability and consistency of the quality
      • Could come from either good crowdsource rating or curation but I'm leaning toward trusted curators at the moment
  • Write down specifics about regexlib.com that seem meh
    • visual design is quite clunky and dated
    • actual expression pattern text not front and center, copy to clipboard
      • scrolling divs :-(
    • many patterns missing title
    • search is not good
      • "vin" matches "having" in description
    • does not inspire confidence in me about quality

Related Prior Art

Continuous Integration

  • CI uses docker containers to run each expression test suite against the appropriate engines (JS, PHP, C, Perl, etc)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment