Skip to content
GitHub no longer supports this web browser. Learn more about the browsers we support.
The code for iHateregex.io 😈 - a regex cheatsheet for the haters
Vue JavaScript CSS
Branch: master
Clone or download
Latest commit 18ebe45 Feb 5, 2020
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/workflows meta: update GH actions config Feb 3, 2020
assets fix: og image served from static Feb 2, 2020
components
layouts fix: lint Feb 2, 2020
middleware initial commit Aug 3, 2019
mixins fix: lint Feb 2, 2020
pages style: added markdown styles Feb 4, 2020
plugins feat: added sidebar icons Feb 4, 2020
static fix: fixed ssn details Feb 5, 2020
store initial commit Aug 3, 2019
.eslintignore chore: add .eslintignore Feb 2, 2020
.eslintrc.js fix: eslint prettier fix Feb 2, 2020
.gitignore Merge branch 'master' into master Feb 1, 2020
README.md readme: rearranged Feb 5, 2020
nuxt.config.js fix: markdown render in local fixed - crossenv Feb 5, 2020
package.json fix: markdown render in local fixed - crossenv Feb 5, 2020
tailwind.config.js fix: lint Feb 2, 2020
yarn.lock fix: markdown render in local fixed - crossenv Feb 5, 2020

README.md

iHateRegex 😈

PRs Welcome Nodejs CI

don't just use; understand.

iHateRegex.io - a regex cheatsheet for the haters.

Chat with us on Telegram

Features 😎

  • Visual representation of regular expressions
  • Matched strings - the Testing area
  • Embed regular expression visualization on your sites
  • Regex code highlighting and validation
  • Regex description with markdown support
  • Playground page where you can create your own expression and link to it.
  • User login and save regex

Setup πŸš€

  1. Install yarn

  2. Clone this repo

  3. Install dependencies βš™οΈ

$ yarn install
  1. Test on localhost πŸ› 
# serve with hot reload at localhost:3600
$ yarn dev
  1. Build and Start nuxt server πŸš€
# build for production and launch server
$ yarn build
$ yarn start

This project is built with Nuxt.js πŸ™Œ

For detailed explanation on how things work, check out Nuxt.js docs.

Contribute Regex πŸ™

Contribute to this project and make this the largest collection of useful expressions 😍

You can also submit regex via this google form

To contribute:

  1. Add your regex to /static/regex/data.json
Show sample JSON
{
        "id": "username",
        "title": "username",
        "tagline": "match a username",
        "description": "Alphanumeric string that may include _ and - having a length of 3 to 16 characters.",
        "regex": "^[a-z0-9_-]{3,15}$",
        "flag": "gm",
        "matchText": [
            "lorem",
            "ipsum",
            "gr3at",
            "a",
            "ab",
            "abcd",
            "abcde",
            "john doe",
            "johnny",
            "abcdefghijklmnopqrst"
        ],
        "cheatRegex": [
            "/^/",
            "/$/",
            "/[a-zA-Z0-9]/",
            "/(hello){1,3}/"
        ],
        "embedHeight": 300,
        "tags" : ["name", "slug"]
    },
Show JSON properties
Property Definition
id this is the slug and also the short name of the regex. cannot contain spaces and only contain url-safe characters
title Title of the page.
tagline Tagline
description First line under the tagline and also the meta description
regex The actual regex string
flag regex flags associated with the expression. eg; g
matchText Array(line by line) of strings to be included in the string matching are
cheatRegex refer static/regex/cheatsheet.json and see what all cheats are relevent to this expression. (you can also add your own cheats into cheatsheet.json and refer to that)
embedHeight Height in pixels of the regex visualization embed
tags tags related to the expression (to be used later)
  1. Create a markdown file in /static/regex/markdown/ named <regex-id>.md for longer description and explaination

    <regex-id> is the id from data.json

That's it πŸ™Œ Go ahead and shoot a new pull request✨✨

Descriptions

There are 2 descriptions for each regex.

  • One is the description property inside /static/regex/data.json.

    • This is used for page meta description as well.
    • This is the first description
  • Second is a dedicated markdown file in /static/regex/markdown/<file>.md

    • This should explain the working of the expression in detail
    • This is the long description
Property Definition example
description property inside data.json This should explain about what the target match is in a few lines. It should not contain any html or markdown A username is a unique identifier given to accounts in websites and social media
dedicated markdown file Explain about the expression and its working ip addresses are of the range 0.0.0.0 - 255.255.255.255. The expression matches the ....(more)

Credits

  • The visual demo is built with: regexper
You can’t perform that action at this time.