Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

awesome-regex

A curated collection of awesome regex tools, tutorials, libraries, etc.
https://github.com/slevithan/awesome-regex

Last synced: 5 days ago
JSON representation

  • Grep-like tools

    • Command line

    • GUI

      • PowerRename - regex/raw/main/media/windows.svg" title="Windows" height="13"></picture>) - Rename files using regexes.
      • Aba Search and Replace - regex/raw/main/media/windows.svg" title="Windows" height="13"></picture>, $30) - Displays matches as you type.
      • PowerGREP - regex/raw/main/media/windows.svg" title="Windows" height="13"></picture>, $159) - Can search through archives, binary files, PDFs, docs/sheets, emails, etc., via its GUI or the command line.
      • RegexRenamer - regex/raw/main/media/windows.svg" title="Windows" height="13"></picture>) - Rename files using regexes.
  • Regex engines

  • Performance

  • JavaScript regex libraries

    • Alternative regex builders and engines

      • regex - Context-aware regex template tag with advanced features and best practices built-in.
      • XRegExp - Extended regex syntax, flags, and utils; useful for backcompat.
      • incr-regex-package - Partial/incremental matching, used by [react-rxinput](https://github.com/nurulc/react-rxinput) for input validation with a regex mask.
      • node-re2 - Bindings for RE2, a non-backtracking engine.
      • rregex - Bindings for Rust's `regex`, a non-backtracking engine.
    • Abstracted regex syntax

      • Rexx - A template tag that uses structured syntax with variables and comments.
      • Melody - lavi.github.io/melody/book/)] - A language that compiles to regexes.
      • compose-regexp.js - regexp](https://github.com/unjs/magic-regexp) \[[*home*](https://regexp.dev/)], [Super Expressive](https://github.com/francisrstokes/super-expressive) \[[*playground*](https://nartc.github.io/ng-super-expressive/)].
    • Regex processors

      • regexp-tree - community/regexpp) (used by ESLint), [regjsparser](https://github.com/jviereck/regjsparser)/[regjsgen](https://github.com/bnjmnt4n/regjsgen).
      • regexp-ast-analysis - ast-analysis/docs/latest/)] - Analyze AST nodes produced by regexpp.
      • Regex Colorizer - colorizer/demo/)], [CodeMirror PCRE mode](https://github.com/xavierog/codemirror-mode-pcre).
      • eslint-plugin-regexp - meshi.github.io/eslint-plugin-regexp/)], [eslint-plugin-optimize-regex](https://github.com/BrainMaestro/eslint-plugin-optimize-regex).
      • randexp.js - to-strings](https://github.com/wimpyprogrammer/regex-to-strings).
      • regexgen
      • AST Explorer: RegExp - View ASTs generated by regexp-tree, regexpp, and regjsparser.
  • JavaScript regex evolution

    • Regex processors

      • flag `s` - regexp-lookbehind), [named capture](https://github.com/tc39/proposal-regexp-named-groups), and (behind flag `u`) [Unicode properties](https://github.com/tc39/proposal-regexp-unicode-property-escapes) via `\p{…}` and `\P{…}` (see [list](https://github.com/mathiasbynens/regexpu-core/blob/main/property-escapes.md)).
      • `matchAll`
      • `replaceAll`
      • flag `d`
      • flag `v` - v-flag)] as an upgrade to flag `u` (can't be used together), which adds a set of multicharacter "properties of strings" to `\p{…}`, multicharacter elements within character classes via `\p{…}` and `\q{…|…}`, nested character classes, set operators `[…--…]` and `[…&&…]`, and different escaping rules within character classes. It also fixes case-insensitive matching for `\p` and `\P` within negated `[^…]`.
      • regexpu - unicode-properties)).
      • Duplicate named capturing groups - Ex: `(?<a>…)|(?<a>…)`.
      • Extended mode and comments - Flag `x` (`extended`) with insignificant whitespace and line comments (`#…`), plus inline comments via `(?#…)`.
      • Pattern modifiers - Ex: `(?ims:…)`, `(?-ims:…)`, `(?i-ms:…)`.
      • Atomic operators - Atomic groups via `(?>…)` and possessive quantifiers (ex: `*+`, `++`).
      • Buffer boundaries - Anchors `\A` and `\z`, not affected by flag `m`.
      • \R escape - Outside character classes, `\R` matches any line terminator.
      • Restrict subclassing support in built-ins - Scaled back `RegExp` subclassing.
      • RegExp escaping - `RegExp.escape`.
      • Legacy RegExp features - Standardization of legacy features.
      • Can I use - Up-to-date browser support tables for individual features.
      • standard
      • [*explainer*
      • [*explainer*
      • [*explainer* - folding for flag `i`, and code-point-based matching (with impact on quantifiers, character classes, character class ranges, and built-in sets like `.` and `\W`).
      • lists
      • [*explainer* - tos/run-chromium-with-flags/)].
  • Testers

    • GNU sed REPL
    • Pythex
    • Rubular
    • CyrilEx - Java, JavaScript, MySQL, PHP, Python, Ruby.
    • Patterns - regex/raw/main/media/macos.svg" title="macOS" height="13"></picture>, $3) - Bash, Emacs, grep, Java, Oniguruma, PCRE, POSIX BRE, POSIX ERE, Ruby, sed.
    • RegexPlanet - Go, Haskell, Java, JavaScript, .NET, Perl, PHP, PostgreSQL, Python, Ruby, Tcl, XRegExp.
    • regex101 - **Best free and best web-based tester**.
    • RegexBuddy - regex/raw/main/media/windows.svg" title="Windows" height="13"></picture>, $40) - **Best tester**.
    • RegExr - **Best open source tester**.
    • fork
    • RegexLearn - **Best multilingual tester** (JavaScript).
    • regexplained - **Best tester for presentations** (JavaScript).
    • RegViz
    • Regex Storm - storm)].
    • PHP Live Regex
  • Collections of patterns

  • Syntax-free regex builders

    • ChatGPT - Ex: *"create a regex that matches `X` and explain it step by step"*.
    • RegexMagic - regex/raw/main/media/windows.svg" title="Windows" height="13"></picture>, $40) - Generate regexes using samples and rules.
    • Regex Generator - generator)] - Generate simple regexes from a sample text.
    • Regex.ai - Mark samples in a text and use AI to generate potential regexes.
  • Visualizers

    • Regex Vis - vis)] - Create railroad diagrams, with visual editor. Flavor: JavaScript.
    • Regulex - Create railroad diagrams. Flavor: JavaScript.
    • Nodexr - Graphical editor with visual hierarchy. Flavor: .NET.
    • Regex Nodes - nodes)] - Graphical editor with visual hierarchy. Flavor: JavaScript.
    • Debuggex - Create railroad diagrams. Flavors: JavaScript, PCRE, Python.
    • RegExper - static)] - Create railroad diagrams. Flavor: JavaScript.
  • Miscelaneous

  • Tutorials

  • Books

  • Articles

  • Communities