Regular Expressions 101

Save & Share

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)\\.?([01]2))\\.?(\\d{1,4})?)|(?:(3)\\.?(1)\\.?([469]\\d?))|([1-2][0-9]|0?[1-9])\\.?(?:(1[0-2]|0?[1-9])\\.?(\\d{1,4})?|(0)?)|(?:(31)\\.?(?:(?:(0?[13578]|1[02])\\.?(\\d{1,4})?)|(0)?))|(?:(30)\\.?(?:(?:(0?[13456789]|1[0-2])\\.?(\\d{1,4})?)|(0)?))|([0-9]))$"; final String string = "0\n" + "000\n" + "00\n" + "1\n" + "001\n" + "01\n" + "2\n" + "002\n" + "02\n" + "3\n" + "003\n" + "03\n" + "4\n" + "004\n" + "04\n" + "5\n" + "005\n" + "05\n" + "6\n" + "006\n" + "06\n" + "7\n" + "007\n" + "07\n" + "8\n" + "008\n" + "08\n" + "9\n" + "009\n" + "09\n" + "10\n" + "010\n" + "11\n" + "011\n" + "12\n" + "012\n" + "13\n" + "013\n" + "14\n" + "014\n" + "15\n" + "015\n" + "16\n" + "016\n" + "17\n" + "017\n" + "18\n" + "018\n" + "19\n" + "019\n" + "20\n" + "020\n" + "21\n" + "021\n" + "22\n" + "022\n" + "23\n" + "023\n" + "24\n" + "024\n" + "25\n" + "025\n" + "26\n" + "026\n" + "27\n" + "027\n" + "28\n" + "028\n" + "29\n" + "029\n" + "30\n" + "030\n" + "31\n" + "031\n" + "32\n" + "032\n" + "33\n" + "033\n" + "34\n" + "034\n" + "35\n" + "035\n" + "36\n" + "036\n" + "37\n" + "037\n" + "38\n" + "038\n" + "39\n" + "039\n" + "40\n" + "040\n" + "41\n" + "041\n" + "42\n" + "042\n" + "43\n" + "043\n" + "44\n" + "044\n" + "45\n" + "045\n" + "46\n" + "046\n" + "47\n" + "047\n" + "48\n" + "048\n" + "49\n" + "049\n" + "50\n" + "050\n" + "51\n" + "051\n" + "52\n" + "052\n" + "53\n" + "053\n" + "54\n" + "054\n" + "55\n" + "055\n" + "56\n" + "056\n" + "57\n" + "057\n" + "58\n" + "058\n" + "59\n" + "059\n" + "60\n" + "060\n" + "61\n" + "061\n" + "62\n" + "062\n" + "63\n" + "063\n" + "64\n" + "064\n" + "65\n" + "065\n" + "66\n" + "066\n" + "67\n" + "067\n" + "68\n" + "068\n" + "69\n" + "069\n" + "70\n" + "070\n" + "71\n" + "071\n" + "72\n" + "072\n" + "73\n" + "073\n" + "74\n" + "074\n" + "75\n" + "075\n" + "76\n" + "076\n" + "77\n" + "077\n" + "78\n" + "078\n" + "79\n" + "079\n" + "80\n" + "080\n" + "81\n" + "081\n" + "82\n" + "082\n" + "83\n" + "083\n" + "84\n" + "084\n" + "85\n" + "085\n" + "86\n" + "086\n" + "87\n" + "087\n" + "88\n" + "088\n" + "89\n" + "089\n" + "90\n" + "090\n" + "91\n" + "091\n" + "92\n" + "092\n" + "93\n" + "093\n" + "94\n" + "094\n" + "95\n" + "095\n" + "96\n" + "096\n" + "97\n" + "097\n" + "98\n" + "098\n" + "99\n" + "099\n" + "100\n" + "101\n" + "102\n" + "103\n" + "104\n" + "105\n" + "106\n" + "107\n" + "108\n" + "109\n" + "110\n" + "111\n" + "112\n" + "113\n" + "114\n" + "115\n" + "116\n" + "117\n" + "118\n" + "119\n" + "120\n" + "121\n" + "122\n" + "123\n" + "124\n" + "125\n" + "126\n" + "127\n" + "128\n" + "129\n" + "130\n" + "131\n" + "132\n" + "133\n" + "134\n" + "135\n" + "136\n" + "137\n" + "138\n" + "139\n" + "140\n" + "141\n" + "142\n" + "143\n" + "144\n" + "145\n" + "146\n" + "147\n" + "148\n" + "149\n" + "150\n" + "151\n" + "152\n" + "153\n" + "154\n" + "155\n" + "156\n" + "157\n" + "158\n" + "159\n" + "160\n" + "161\n" + "162\n" + "163\n" + "164\n" + "165\n" + "166\n" + "167\n" + "168\n" + "169\n" + "170\n" + "171\n" + "172\n" + "173\n" + "174\n" + "175\n" + "176\n" + "177\n" + "178\n" + "179\n" + "180\n" + "181\n" + "182\n" + "183\n" + "184\n" + "185\n" + "186\n" + "187\n" + "188\n" + "189\n" + "190\n" + "191\n" + "192\n" + "193\n" + "194\n" + "195\n" + "196\n" + "197\n" + "198\n" + "199\n" + "200\n" + "201\n" + "202\n" + "203\n" + "204\n" + "205\n" + "206\n" + "207\n" + "208\n" + "209\n" + "210\n" + "211\n" + "212\n" + "213\n" + "214\n" + "215\n" + "216\n" + "217\n" + "218\n" + "219\n" + "220\n" + "221\n" + "222\n" + "223\n" + "224\n" + "225\n" + "226\n" + "227\n" + "228\n" + "229\n" + "230\n" + "231\n" + "232\n" + "233\n" + "234\n" + "235\n" + "236\n" + "237\n" + "238\n" + "239\n" + "240\n" + "241\n" + "242\n" + "243\n" + "244\n" + "245\n" + "246\n" + "247\n" + "248\n" + "249\n" + "250\n" + "251\n" + "252\n" + "253\n" + "254\n" + "255\n" + "256\n" + "257\n" + "258\n" + "259\n" + "260\n" + "261\n" + "262\n" + "263\n" + "264\n" + "265\n" + "266\n" + "267\n" + "268\n" + "269\n" + "270\n" + "271\n" + "272\n" + "273\n" + "274\n" + "275\n" + "276\n" + "277\n" + "278\n" + "279\n" + "280\n" + "281\n" + "282\n" + "283\n" + "284\n" + "285\n" + "286\n" + "287\n" + "288\n" + "289\n" + "290\n" + "291\n" + "292\n" + "293\n" + "294\n" + "295\n" + "296\n" + "297\n" + "298\n" + "299\n" + "300\n" + "301\n" + "302\n" + "303\n" + "304\n" + "305\n" + "306\n" + "307\n" + "308\n" + "309\n" + "310\n" + "311\n" + "312\n" + "313\n" + "314\n" + "315\n" + "316\n" + "317\n" + "318\n" + "319\n" + "320\n" + "321\n" + "322\n" + "323\n" + "324\n" + "325\n" + "326\n" + "327\n" + "328\n" + "329\n" + "330\n" + "331\n" + "332\n" + "333\n" + "334\n" + "335\n" + "336\n" + "337\n" + "338\n" + "339\n" + "340\n" + "341\n" + "342\n" + "343\n" + "344\n" + "345\n" + "346\n" + "347\n" + "348\n" + "349\n" + "350\n" + "351\n" + "352\n" + "353\n" + "354\n" + "355\n" + "356\n" + "357\n" + "358\n" + "359\n" + "360\n" + "361\n" + "362\n" + "363\n" + "364\n" + "365\n" + "366\n" + "367\n" + "368\n" + "369\n" + "370\n" + "371\n" + "372\n" + "373\n" + "374\n" + "375\n" + "376\n" + "377\n" + "378\n" + "379\n" + "380\n" + "381\n" + "382\n" + "383\n" + "384\n" + "385\n" + "386\n" + "387\n" + "388\n" + "389\n" + "390\n" + "391\n" + "392\n" + "393\n" + "394\n" + "395\n" + "396\n" + "397\n" + "398\n" + "399\n" + "400\n" + "401\n" + "402\n" + "403\n" + "404\n" + "405\n" + "406\n" + "407\n" + "408\n" + "409\n" + "410\n" + "411\n" + "412\n" + "413\n" + "414\n" + "415\n" + "416\n" + "417\n" + "418\n" + "419\n" + "420\n" + "421\n" + "422\n" + "423\n" + "424\n" + "425\n" + "426\n" + "427\n" + "428\n" + "429\n" + "430\n" + "431\n" + "432\n" + "433\n" + "434\n" + "435\n" + "436\n" + "437\n" + "438\n" + "439\n" + "440\n" + "441\n" + "442\n" + "443\n" + "444\n" + "445\n" + "446\n" + "447\n" + "448\n" + "449\n" + "450\n" + "451\n" + "452\n" + "453\n" + "454\n" + "455\n" + "456\n" + "457\n" + "458\n" + "459\n" + "460\n" + "461\n" + "462\n" + "463\n" + "464\n" + "465\n" + "466\n" + "467\n" + "468\n" + "469\n" + "470\n" + "471\n" + "472\n" + "473\n" + "474\n" + "475\n" + "476\n" + "477\n" + "478\n" + "479\n" + "480\n" + "481\n" + "482\n" + "483\n" + "484\n" + "485\n" + "486\n" + "487\n" + "488\n" + "489\n" + "490\n" + "491\n" + "492\n" + "493\n" + "494\n" + "495\n" + "496\n" + "497\n" + "498\n" + "499\n" + "500\n" + "501\n" + "502\n" + "503\n" + "504\n" + "505\n" + "506\n" + "507\n" + "508\n" + "509\n" + "510\n" + "511\n" + "512\n" + "513\n" + "514\n" + "515\n" + "516\n" + "517\n" + "518\n" + "519\n" + "520\n" + "521\n" + "522\n" + "523\n" + "524\n" + "525\n" + "526\n" + "527\n" + "528\n" + "529\n" + "530\n" + "531\n" + "532\n" + "533\n" + "534\n" + "535\n" + "536\n" + "537\n" + "538\n" + "539\n" + "540\n" + "541\n" + "542\n" + "543\n" + "544\n" + "545\n" + "546\n" + "547\n" + "548\n" + "549\n" + "550\n" + "551\n" + "552\n" + "553\n" + "554\n" + "555\n" + "556\n" + "557\n" + "558\n" + "559\n" + "560\n" + "561\n" + "562\n" + "563\n" + "564\n" + "565\n" + "566\n" + "567\n" + "568\n" + "569\n" + "570\n" + "571\n" + "572\n" + "573\n" + "574\n" + "575\n" + "576\n" + "577\n" + "578\n" + "579\n" + "580\n" + "581\n" + "582\n" + "583\n" + "584\n" + "585\n" + "586\n" + "587\n" + "588\n" + "589\n" + "590\n" + "591\n" + "592\n" + "593\n" + "594\n" + "595\n" + "596\n" + "597\n" + "598\n" + "599\n" + "600\n" + "601\n" + "602\n" + "603\n" + "604\n" + "605\n" + "606\n" + "607\n" + "608\n" + "609\n" + "610\n" + "611\n" + "612\n" + "613\n" + "614\n" + "615\n" + "616\n" + "617\n" + "618\n" + "619\n" + "620\n" + "621\n" + "622\n" + "623\n" + "624\n" + "625\n" + "626\n" + "627\n" + "628\n" + "629\n" + "630\n" + "631\n" + "632\n" + "633\n" + "634\n" + "635\n" + "636\n" + "637\n" + "638\n" + "639\n" + "640\n" + "641\n" + "642\n" + "643\n" + "644\n" + "645\n" + "646\n" + "647\n" + "648\n" + "649\n" + "650\n" + "651\n" + "652\n" + "653\n" + "654\n" + "655\n" + "656\n" + "657\n" + "658\n" + "659\n" + "660\n" + "661\n" + "662\n" + "663\n" + "664\n" + "665\n" + "666\n" + "667\n" + "668\n" + "669\n" + "670\n" + "671\n" + "672\n" + "673\n" + "674\n" + "675\n" + "676\n" + "677\n" + "678\n" + "679\n" + "680\n" + "681\n" + "682\n" + "683\n" + "684\n" + "685\n" + "686\n" + "687\n" + "688\n" + "689\n" + "690\n" + "691\n" + "692\n" + "693\n" + "694\n" + "695\n" + "696\n" + "697\n" + "698\n" + "699\n" + "700\n" + "701\n" + "702\n" + "703\n" + "704\n" + "705\n" + "706\n" + "707\n" + "708\n" + "709\n" + "710\n" + "711\n" + "712\n" + "713\n" + "714\n" + "715\n" + "716\n" + "717\n" + "718\n" + "719\n" + "720\n" + "721\n" + "722\n" + "723\n" + "724\n" + "725\n" + "726\n" + "727\n" + "728\n" + "729\n" + "730\n" + "731\n" + "732\n" + "733\n" + "734\n" + "735\n" + "736\n" + "737\n" + "738\n" + "739\n" + "740\n" + "741\n" + "742\n" + "743\n" + "744\n" + "745\n" + "746\n" + "747\n" + "748\n" + "749\n" + "750\n" + "751\n" + "752\n" + "753\n" + "754\n" + "755\n" + "756\n" + "757\n" + "758\n" + "759\n" + "760\n" + "761\n" + "762\n" + "763\n" + "764\n" + "765\n" + "766\n" + "767\n" + "768\n" + "769\n" + "770\n" + "771\n" + "772\n" + "773\n" + "774\n" + "775\n" + "776\n" + "777\n" + "778\n" + "779\n" + "780\n" + "781\n" + "782\n" + "783\n" + "784\n" + "785\n" + "786\n" + "787\n" + "788\n" + "789\n" + "790\n" + "791\n" + "792\n" + "793\n" + "794\n" + "795\n" + "796\n" + "797\n" + "798\n" + "799\n" + "800\n" + "801\n" + "802\n" + "803\n" + "804\n" + "805\n" + "806\n" + "807\n" + "808\n" + "809\n" + "810\n" + "811\n" + "812\n" + "813\n" + "814\n" + "815\n" + "816\n" + "817\n" + "818\n" + "819\n" + "820\n" + "821\n" + "822\n" + "823\n" + "824\n" + "825\n" + "826\n" + "827\n" + "828\n" + "829\n" + "830\n" + "831\n" + "832\n" + "833\n" + "834\n" + "835\n" + "836\n" + "837\n" + "838\n" + "839\n" + "840\n" + "841\n" + "842\n" + "843\n" + "844\n" + "845\n" + "846\n" + "847\n" + "848\n" + "849\n" + "850\n" + "851\n" + "852\n" + "853\n" + "854\n" + "855\n" + "856\n" + "857\n" + "858\n" + "859\n" + "860\n" + "861\n" + "862\n" + "863\n" + "864\n" + "865\n" + "866\n" + "867\n" + "868\n" + "869\n" + "870\n" + "871\n" + "872\n" + "873\n" + "874\n" + "875\n" + "876\n" + "877\n" + "878\n" + "879\n" + "880\n" + "881\n" + "882\n" + "883\n" + "884\n" + "885\n" + "886\n" + "887\n" + "888\n" + "889\n" + "890\n" + "891\n" + "892\n" + "893\n" + "894\n" + "895\n" + "896\n" + "897\n" + "898\n" + "899\n" + "900\n" + "901\n" + "902\n" + "903\n" + "904\n" + "905\n" + "906\n" + "907\n" + "908\n" + "909\n" + "910\n" + "911\n" + "912\n" + "913\n" + "914\n" + "915\n" + "916\n" + "917\n" + "918\n" + "919\n" + "920\n" + "921\n" + "922\n" + "923\n" + "924\n" + "925\n" + "926\n" + "927\n" + "928\n" + "929\n" + "930\n" + "931\n" + "932\n" + "933\n" + "934\n" + "935\n" + "936\n" + "937\n" + "938\n" + "939\n" + "940\n" + "941\n" + "942\n" + "943\n" + "944\n" + "945\n" + "946\n" + "947\n" + "948\n" + "949\n" + "950\n" + "951\n" + "952\n" + "953\n" + "954\n" + "955\n" + "956\n" + "957\n" + "958\n" + "959\n" + "960\n" + "961\n" + "962\n" + "963\n" + "964\n" + "965\n" + "966\n" + "967\n" + "968\n" + "969\n" + "970\n" + "971\n" + "972\n" + "973\n" + "974\n" + "975\n" + "976\n" + "977\n" + "978\n" + "979\n" + "980\n" + "981\n" + "982\n" + "983\n" + "984\n" + "985\n" + "986\n" + "987\n" + "988\n" + "989\n" + "990\n" + "991\n" + "992\n" + "993\n" + "994\n" + "995\n" + "996\n" + "997\n" + "998\n" + "999\n"; 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