You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Yik Teng Hie d08d1ac1ba regex quick guide 5 years ago
..
README.md regex quick guide 5 years ago

README.md

REGEX Quick Guide

  • Regex 101 : Have sample code generator

  • Atom and Notepad++ support Regex Find / Replace. Can use to test regex expression

  • Javascript : Enclosed within /.../

  • Control characters

    • . : Any Character Except New Line
    • \d : Digit (0-9)
    • \D : Not a Digit
    • \w : Word Character (a-z, A-Z, 0-9, _)
    • \W : Not Word Character
    • \s : Whitespace (space, tab, newline)
    • \S : Not Whitespace
    • \b : Word Boundary
    • \B : Not Word Boundary
    • ^ : Beginning of a String
    • $ : End of a String
  • Other

    • [] : Matches Characters in brackets
    • [^ ] : Matches Characters NOT in brackets
    • | : Either Or
    • ( ) : Group
  • Quantifiers

    • * : 0 or more
    • + : 1 or more
    • ? : 0 or One
    • {3} : Exact Number
    • {3,4} : Range of Numbers (Minimum, Maximun)
  • MetaCharacters (Need to be escaped)

    • .[{()\^$|?*+ : Need to be escaped with \.
    • Eg String = \*
      • To form the character list, escape it as shown \\\*
  • Useful regex

    regex Description Sample javascript
    /\d(?=\d{4})/g mask digits and keep remaining 4 digits '12345678'.replace(/\d(?=\d{4})/g, "*")
    /(\d+)(\d{4})/ mask digit. Group into group1 (length - 4 digits) and group2 (4-digit) '12345678'.replace(/(\d+)(\d{4})/, (match, g1, g2) => { return g1.replace(/\d+/, '*'.repeat(g1.length) + g2) });