geongeorge
i-hate-regex
Vue

The code for iHateregex.io 😈 - The Regex Cheat Sheet

Last updated Jul 1, 2026
4.6k
Stars
318
Forks
41
Issues
0
Stars/day
Attention Score
59
Language breakdown
No language data available.
β–Έ Files click to expand
README

iHateRegex 😈

PRs Welcome Nodejs CI

don't just use; understand.

iHateRegex.io - a regex cheatsheet for the haters.

Chat with us on Telegram

Features 😎

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

Setup πŸš€

  • Install dependencies βš™οΈ
bash
  $ yarn install
  • Test on localhost πŸ› 
bash
  # serve with hot reload at localhost:3600
  $ yarn dev
  • Build and Start nuxt server πŸš€
bash
  # 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:

  • 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) |

  • Create a markdown file in /static/regex/markdown/ named <regex-id>.md for longer description and explanation
<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 how the expression works 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 how it works| ip addresses are of the range 0.0.0.0 - 255.255.255.255. The expression matches the ....(more)|

Sponsors πŸ’–

Donate via Opencollective

Credits

Β© 2026 GitRepoTrend Β· geongeorge/i-hate-regex Β· Updated daily from GitHub