Regular Expressions 101

Save & Share

  • Regex Version: ver. 1
  • Update Regex
    ctrl+⇧+s
  • Save new Regex
    ctrl+s
  • Add to Community Library

Flavor

  • PCRE2 (PHP >=7.3)
  • PCRE (PHP <7.3)
  • ECMAScript (JavaScript)
  • Python
  • Golang
  • Java 8
  • .NET 7.0 (C#)
  • Rust
  • Regex Flavor Guide

Function

  • Match
  • Substitution
  • List
  • Unit Tests

Tools

Sponsors
There are currently no sponsors. Become a sponsor today!
An explanation of your regex will be automatically generated as you type.
Detailed match information will be displayed here automatically.
  • All Tokens
  • Common Tokens
  • General Tokens
  • Anchors
  • Meta Sequences
  • Quantifiers
  • Group Constructs
  • Character Classes
  • Flags/Modifiers
  • Substitution
  • A single character of: a, b or c
    [abc]
  • A character except: a, b or c
    [^abc]
  • A character in the range: a-z
    [a-z]
  • A character not in the range: a-z
    [^a-z]
  • A character in the range: a-z or A-Z
    [a-zA-Z]
  • Any single character
    .
  • Alternate - match either a or b
    a|b
  • Any whitespace character
    \s
  • Any non-whitespace character
    \S
  • Any digit
    \d
  • Any non-digit
    \D
  • Any word character
    \w
  • Any non-word character
    \W
  • Non-capturing group
    (?:...)
  • Capturing group
    (...)
  • Zero or one of a
    a?
  • Zero or more of a
    a*
  • One or more of a
    a+
  • Exactly 3 of a
    a{3}
  • 3 or more of a
    a{3,}
  • Between 3 and 6 of a
    a{3,6}
  • Start of string
    ^
  • End of string
    $
  • A word boundary
    \b
  • Non-word boundary
    \B

Regular Expression

/
/
gm

Test String

Code Generator

Generated Code

import java.util.regex.Matcher; import java.util.regex.Pattern; public class Example { public static void main(String[] args) { final String regex = ".{3}[^\\s-].{3}"; final String string = "E4A5Y8E\n" + "JQIU56G\n" + "S91ED8F\n" + "ZZ9850H\n" + "ZPPMYA9\n" + "J2OXGG0\n" + "X0E 0S0\n" + "9CF0ZJG\n" + "LTZTBLL\n" + "TEZPPN7\n" + "UD1UBM9\n" + "TII6VD6\n" + "BMZ90JF\n" + "VE6NLYJ\n" + "VACU01D\n" + "8SUDAFE\n" + "RQ8EFOI\n" + "08C97PD\n" + "3LB58FW\n" + "XQC2RW9\n" + "HEJ79FK\n" + "5FEJ81D\n" + "149EW6B\n" + "9KSPVLH\n" + "LTUNC3S\n" + "HN50KLO\n" + "8NXO6VL\n" + "4AZIQB8\n" + "U3L0TMV\n" + "044V0UG\n" + "EICE3TP\n" + "7Q7SC7Z\n" + "L86UAT3\n" + "JQYQLW0\n" + "MOEJCMZ\n" + "1AGVGOO\n" + "MPO18T0\n" + "QJMJ5TN\n" + "XJUEMLC\n" + "8JOANNN\n" + "0FIIIA1\n" + "QXZN03D\n" + "WAM 4BI\n" + "R0A 0S0\n" + "XUNFEAD\n" + "2KLDUOC\n" + "RHG NMK\n" + "M0P0XQS\n" + "D4J8MMC\n" + "X0E-1C0\n" + "J5L1KKU\n" + "EI2JTNY\n" + "BQ5LL52\n" + "1G6IL0L\n" + "JNF7KGE\n" + "1U1HSTG\n" + "OVJIO0H\n" + "U7X0ZTO\n" + "V98C18U\n" + "MNPDFAA\n" + "JRYV6I1\n" + "CSU29TX\n" + "2YLCS0E\n" + "IIPIOSN\n" + "V4W-1B9\n" + "U7HUEWN\n" + "AKUVDLL\n" + "IL2H9H3\n" + "G3ON4LY\n" + "V4W 1A4\n" + "UZSR5YK\n" + "SDC2A06\n" + "IEZJCH3\n" + "UABPVDJ\n" + "NBXDBQ5\n" + "17HR851\n" + "E1CZAGC\n" + "WFJ72DU\n" + "ANZ0JXG\n" + "YHA9M3X\n" + "HMDV5ER\n" + "S3PTFHM\n" + "ZZ6WYSA\n" + "IY99JD8\n" + "P7UVP4Z\n" + "NQ283P9\n" + "LELIDPT\n" + "R6M 0A5\n" + "R0G 0B2\n" + "9MI2DV0\n" + "MWACX9X\n" + "X0E 0H0\n" + "I7GHXN8\n" + "E063NU0\n" + "DLV7WF6\n" + "5ZTM1LL\n" + "QMEFANR\n" + "CYNVB4S\n" + "8W2LHCK\n" + "V4W 0A4\n" + "HCRQ4GZ\n" + "LIJCLYP\n" + "OECYFT4\n" + "V4W 1B6\n" + "7SRZUGW\n" + "VBUHQ3B\n" + "J5YST0B\n" + "R6M 0A3\n" + "0OQCULR\n" + "BG7JIMT\n" + "M0JFKE7\n" + "J6LAMJ9\n" + "WNRUDD1\n" + "7OOZITH\n" + "3ML8MD3\n" + "94IPNLE\n" + "W55SJH0\n" + "81XXMCE\n" + "97JZS9U\n" + "NXB31OU\n" + "Y4EDFZ1\n" + "9NGKXLW\n" + "JJ7X46J\n" + "CWU3CJM\n" + "8D9OYOP\n" + "3ZZV975\n" + "HTVJV1C\n" + "MENOU7S\n" + "SRKBGUN\n" + "0MONC6T\n" + "MS6O469\n" + "IUVOYQ9\n" + "25RDXZV\n" + "D99LO98\n" + "GKK3H2O\n" + "PDHJD5B\n" + "2KM3K5W\n" + "AJIIK4L\n" + "BD9A24I\n" + "UU32Y03\n" + "RCA4C86\n" + "0H4BBVG\n" + "8355956\n" + "V4W 1A7\n" + "RW9JLNP\n" + "ZQ2YMH0\n" + "71YCQRC\n" + "4ZUNJ7Q\n" + "152REQB\n" + "4NQR40P\n" + "6310AX1\n" + "3QC0AL6\n" + "8HN6COW\n" + "R5R1SW7\n" + "B8NPGEX\n" + "0ITC8M5\n" + "TE09NQX\n" + "DCDUSQU\n" + "61JDWMA\n" + "X0E 0B0\n" + "V4W 1A5\n" + "R0G 1C0\n" + "Z05290B\n" + "SDFDJB7\n" + "1AIQYRC\n" + "F5Q3TO4\n" + "ABWG8R7\n" + "8BHF4J5\n" + "176AKXX\n" + "U12T0US\n" + "6AO46QD\n" + "XQNEDH4\n" + "R0G 0B0\n" + "4HDUV2H\n" + "6M3F27U\n" + "900YSOA\n" + "QZKU6WK\n" + "O85SHCL\n" + "NG6K7CE\n" + "47BOY8N\n" + "7PU2R3W\n" + "2UQ CIC\n" + "1WJ7V4F\n" + "QKPWPZV\n" + "VHVVXJT\n" + "7YTZW6D\n" + "609X0LY\n" + "R6M 0A6\n" + "3QA1UTG\n" + "P4NP0VS\n" + "8RTG25F\n" + "2V7KTWW\n" + "31FC5QQ\n" + "R0G 0Z0\n" + "V4W 1B8\n" + "MZ337WC\n" + "6BM4ASC\n" + "QXSKH3R\n" + "I0Q63JL\n" + "73QEDO9\n" + "MIPJB4E\n" + "5211K66\n" + "4PVXK85\n" + "DN1NRBS\n" + "RCKEAST\n" + "8PAFPN0\n" + "AMDE4EM\n" + "5RX2U4F\n" + "CXC4HGU\n" + "UJZAE15\n" + "JMUL6Q6\n" + "VI7T9R4\n" + "SJF31CG\n" + "L5R8RQB\n" + "CQ74GTH\n" + "B5B26SC\n" + "V4W 1C8\n" + "002XEHG\n" + "UIVMXD3\n" + "59U220R\n" + "R6M-0A1\n" + "LASUZGV\n" + "9N984BZ\n" + "X0YAXJ7\n" + "NU55569\n" + "G6CMXRU\n" + "INI41IE\n" + "R0A 0L0\n" + "EDOLTZT\n" + "0ZJ2JOI\n" + "J1LFVQP\n" + "IBHW7BH\n" + "I7LMSXR\n" + "V4W 1A3\n" + "2OQJYMM\n" + "8TSW5J1\n" + "EQ6OIPV\n" + "34CVVKW\n" + "RCAY7SH\n" + "V4W 1A8\n" + "YSXBLN0\n" + "G26XHHE\n" + "V4W 0A5\n" + "DIBM8LW\n" + "T0E4Z3N\n" + "X031ZWH\n" + "Y33IVCB\n" + "S9R58C4\n" + "TC3Q07B\n" + "NBYVGSB\n" + "V4W 1C4\n" + "XBLIU0F\n" + "H92UX8N\n" + "GUGQUKQ\n" + "PY2NFZ0\n" + "4Q7OGZP\n" + "Z5VGDWY\n" + "X0E 0G0\n" + "YEAJD6D\n" + "R6M 0A4\n" + "8H3UBVS\n" + "317HCXF\n" + "FWDF2UW\n" + "P40H72D\n" + "OWD3KVB\n" + "8IGB94X\n" + "JFLPI05\n" + "OCN91ZQ\n" + "XC8FMGC\n" + "0O1KOGN\n" + "684TESU\n" + "Y0WSZ15\n" + "RSKECBM\n" + "Y488MYL\n" + "DJLRJE2\n" + "GA6EI1D\n" + "C7U G3O\n" + "RV2C62C\n" + "XX1IFWW\n" + "S5EU716\n" + "K3R8V0P\n" + "L6NHJVQ\n" + "R45G9SH\n" + "O8W0UVF\n" + "FUX7H6P\n" + "5NUIL90\n" + "T4ACNYK\n" + "I3S5QWJ\n" + "LLSKBDS\n" + "5R7W88H\n" + "RUTNJXA\n" + "JEYRIN4\n" + "O62OG44\n" + "DAMW7YJ\n" + "ESC6IL0\n" + "85ZTRKO\n" + "LFN4LNG\n" + "7N4352T\n" + "DV5EG89\n" + "93OSFNO\n" + "50U33CF\n" + "J0SBCNC\n" + "Q77FUS0\n" + "ON2L7YC\n" + "GOVRTWB\n" + "BCN4RCL\n" + "RX2NTJW\n" + "99Q5M52\n" + "V4W 1C5\n" + "DH26PS0\n" + "J19CBEA\n" + "J0QDH03\n" + "D1X NOO\n" + "X0E 0V0\n" + "I7TXLJZ\n" + "53BNU19\n" + "MZEW2AX\n" + "6JFABO4\n" + "ZJG3J5D\n" + "X0E 0Z0\n" + "B4W4YMB\n" + "37UNJ9A\n" + "6R66IVX\n" + "5UQPTB9\n" + "R0G 0Y0\n" + "YF7JP8G\n" + "48XX1EL\n" + "WCUYX4I\n" + "762IWZ4\n" + "23NBY1L\n" + "3G6XU4P\n" + "GJVNEHC\n" + "X0E 0J0\n" + "B2HO1JN\n" + "CKU8PG7\n" + "TG2N6C9\n" + "KQO4T5I\n" + "6CXZ92J\n" + "WW0KB8J\n" + "SY5FC2W\n" + "XAZJKHA\n" + "2QGMNM4\n" + "0WI2R0U\n" + "X0E 0A0\n" + "8KW93VI\n" + "BTNXNDQ\n" + "2CY7493\n" + "D97IWVC\n" + "ME40FWL\n" + "EZZX50J\n" + "X0E 1L0\n" + "69JN5XN\n" + "G7OZFBG\n" + "GYF46SY\n" + "XD3VPQW\n" + "K5MWQB4\n" + "6LTEOO8\n" + "VAD9J5F\n" + "5GZARVT\n" + "E3ZY8D8\n" + "VWP9PCP\n" + "QREOACD\n" + "R0G 0C0\n" + "4B8394Q\n" + "R0G 0J0\n" + "V4W 1C3\n" + "3ZHVFCJ\n" + "1RFMTBM\n" + "DFCVUEW\n" + "5R7D8AT\n" + "RAHP4EF\n" + "5L45FTJ\n" + "XE1JZPD\n" + "PKTEPQ7\n" + "XDLSOVN\n" + "DIYPIK4\n" + "DI6JVL5\n" + "76QZC9V\n" + "LZ595ML\n" + "U4H9L7V\n" + "4SRWVWC\n" + "HGMZGKU\n" + "7SNFBJN\n" + "UG0DOTK\n" + "KH3UNP9\n" + "KBKMAY8\n" + "U1I95QA\n" + "Y379SYY\n" + "J7OAGHN\n" + "VE9IBPR\n" + "SADNELB\n" + "23CUB7K\n" + "PJ580EL\n" + "EZIUU2R\n" + "Q69N154\n" + "5WJ0KFU\n" + "3IW1XB3\n" + "0TPI8A7\n" + "3OUKYEQ\n" + "YRQWNYJ\n" + "K628FQ8\n" + "N4I3R5Z\n" + "CNGSW93\n" + "KDSIE58\n" + "4M041Z9\n" + "6ERUKDG\n" + "7V02JFY\n" + "JJO2659\n" + "2M6T5JY\n" + "O23AODX\n" + "V4W-1B7\n" + "6RGDNY9\n" + "4Q28NH3\n" + "XL5K6PV\n" + "X0E-0T0\n" + "ZE6NMO3\n" + "N3GQGF1\n" + "PN7I207\n" + "RTDYA1T\n" + "G8DEBKY\n" + "GRQPYCL\n" + "R0G 0B1\n" + "R0G 0V0\n" + "4S38X85\n" + "QF3DGDG\n" + "R0G 1H0\n" + "8UXUQ42\n" + "HUXFTN5\n" + "V77YGDP\n" + "1V3TMD1\n" + "JUGVD3E\n" + "9CU0UYP\n" + "77PV8GD\n" + "IN7450T\n" + "I4K1DVJ\n" + "P1ODTUX\n" + "FP71TWS\n" + "JF8NM06\n" + "UY6E4Q8\n" + "EJEH7OD\n" + "V4W 1A6\n" + "9PNLTCM\n" + "LG8HHPJ\n" + "SP4VDPY\n" + "73TWCLI\n" + "HB93P9P\n" + "BLSCGV6\n" + "DDJAU2B\n" + "23RMY67\n" + "CK2OVCM\n" + "UPC8706\n" + "T5VX87C\n" + "V4W 1C7\n" + "V2WAN42\n" + "R0G 0T0\n" + "HGZ0588\n" + "JT8GX26\n" + "2IQKV9Q\n" + "92QSQSM\n" + "S3I6CQ5\n" + "7LJSVTK\n" + "GT5PFMQ\n" + "L2I1E81\n" + "X099GUY\n" + "P5X8099\n" + "V4W 0A7\n" + "HKAJO79\n" + "SOCLKT7\n" + "4WYNHOK\n" + "SU05A4G\n" + "BRIUMJJ\n" + "5MX70VS\n" + "R0G 1E0\n" + "W5L0XE6\n" + "I3B9LMP\n" + "NCIIXAI\n" + "BAZRO7U\n" + "8U3T8IL\n" + "OLX0JQG\n" + "1JFA5H9\n" + "2KNXFL0\n" + "R6M 0A2\n" + "09LP9BP\n" + "9G2CD8P\n" + "UT96V7L\n" + "Y9TGDYM\n" + "BXBM4AG\n" + "65BHK2B\n" + "KW31STU\n" + "9KWT5ZS\n" + "X0E 1N0\n" + "THDX4GH\n" + "CYHCNSS\n" + "TILS0FE\n" + "KLSJNQU\n" + "029JF4T\n" + "3IIVD7J\n" + "XWV92SX\n" + "Z4WB33S\n" + "K6RXPCY\n" + "UKPNO5B\n" + "J2JIJ2I\n" + "C1O1B2C\n" + "7SXC9K5\n" + "JGJOG2Y\n" + "2BDQ4MZ\n" + "W6KS7KE\n" + "UL7DA6I\n" + "WEEXBD2\n" + "XORJDFL\n" + "BK9I7IN\n" + "WV0LAJK\n" + "J7GVG6Y\n" + "SNM4AI8\n" + "PDH6U4P\n" + "UROWD79\n" + "U7SDK3M\n" + "X0E 0K0\n" + "G92VTV2\n" + "YMJUGSY\n" + "F01DYMN\n" + "6ZNEPX4\n" + "Z9SXBXB\n" + "9FSXWX8\n" + "CF6SIMP\n" + "N8QKPVE\n" + "V4W 1C6\n" + "ZA55B0H\n" + "VMW7IUY\n" + "K0NL3I7\n" + "R66IH8L\n" + "BK8FTYG\n" + "LSSYTXM\n" + "DPP3EW3\n" + "V4W 0A6\n" + "O8TD058\n" + "LD0F8LQ\n" + "LI3TOEA\n" + "JQNH0V9\n" + "7CI0LM3\n" + "7SEFJH1\n" + "QK5PV2Z\n" + "4QNKDOZ\n" + "T6P8KL4\n" + "16YXV9F\n" + "0WQFFMR\n" + "D41BFC6\n" + "GT0N7VQ\n" + "NQCOM7Z\n" + "FXAYI5U\n" + "J8RJRCF\n" + "A5T2LZ8\n" + "49ABK7Q"; final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE); final Matcher matcher = pattern.matcher(string); while (matcher.find()) { System.out.println("Full match: " + matcher.group(0)); for (int i = 1; i <= matcher.groupCount(); i++) { System.out.println("Group " + i + ": " + matcher.group(i)); } } } }

Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html