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

Substitution

Processing...

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 = "^.*(?= ) "; final String string = "Ticket\n" + "A/5 21171\n" + "PC 17599\n" + "STON/O2. 3101282\n" + "113803\n" + "373450\n" + "330877\n" + "17463\n" + "349909\n" + "347742\n" + "237736\n" + "PP 9549\n" + "113783\n" + "A/5. 2151\n" + "347082\n" + "350406\n" + "248706\n" + "382652\n" + "244373\n" + "345763\n" + "2649\n" + "239865\n" + "248698\n" + "330923\n" + "113788\n" + "349909\n" + "347077\n" + "2631\n" + "19950\n" + "330959\n" + "349216\n" + "PC 17601\n" + "PC 17569\n" + "335677\n" + "C.A. 24579\n" + "PC 17604\n" + "113789\n" + "2677\n" + "A./5. 2152\n" + "345764\n" + "2651\n" + "7546\n" + "11668\n" + "349253\n" + "SC/Paris 2123\n" + "330958\n" + "S.C./A.4. 23567\n" + "370371\n" + "14311\n" + "2662\n" + "349237\n" + "3101295\n" + "A/4. 39886\n" + "PC 17572\n" + "2926\n" + "113509\n" + "19947\n" + "C.A. 31026\n" + "2697\n" + "C.A. 34651\n" + "CA 2144\n" + "2669\n" + "113572\n" + "36973\n" + "347088\n" + "PC 17605\n" + "2661\n" + "C.A. 29395\n" + "S.P. 3464\n" + "3101281\n" + "315151\n" + "C.A. 33111\n" + "CA 2144\n" + "S.O.C. 14879\n" + "2680\n" + "1601\n" + "348123\n" + "349208\n" + "374746\n" + "248738\n" + "364516\n" + "345767\n" + "345779\n" + "330932\n" + "113059\n" + "SO/C 14885\n" + "3101278\n" + "W./C. 6608\n" + "SOTON/OQ 392086\n" + "19950\n" + "343275\n" + "343276\n" + "347466\n" + "W.E.P. 5734\n" + "C.A. 2315\n" + "364500\n" + "374910\n" + "PC 17754\n" + "PC 17759\n" + "231919\n" + "244367\n" + "349245\n" + "349215\n" + "35281\n" + "7540\n" + "3101276\n" + "349207\n" + "343120\n" + "312991\n" + "349249\n" + "371110\n" + "110465\n" + "2665\n" + "324669\n" + "4136\n" + "2627\n" + "STON/O 2. 3101294\n" + "370369\n" + "11668\n" + "PC 17558\n" + "347082\n" + "S.O.C. 14879\n" + "A4. 54510\n" + "237736\n" + "27267\n" + "35281\n" + "2651\n" + "370372\n" + "C 17369\n" + "2668\n" + "347061\n" + "349241\n" + "SOTON/O.Q. 3101307\n" + "A/5. 3337\n" + "228414\n" + "C.A. 29178\n" + "SC/PARIS 2133\n" + "11752\n" + "113803\n" + "7534\n" + "PC 17593\n" + "2678\n" + "347081\n" + "STON/O2. 3101279\n" + "365222\n" + "231945\n" + "C.A. 33112\n" + "350043\n" + "W./C. 6608\n" + "230080\n" + "244310\n" + "S.O.P. 1166\n" + "113776\n" + "A.5. 11206\n" + "A/5. 851\n" + "Fa 265302\n" + "PC 17597\n" + "35851\n" + "SOTON/OQ 392090\n" + "315037\n" + "CA. 2343\n" + "371362\n" + "C.A. 33595\n" + "347068\n" + "315093\n" + "3101295\n" + "363291\n" + "113505\n" + "347088\n" + "PC 17318\n" + "1601\n" + "111240\n" + "382652\n" + "347742\n" + "STON/O 2. 3101280\n" + "17764\n" + "350404\n" + "4133\n" + "PC 17595\n" + "250653\n" + "LINE\n" + "CA. 2343\n" + "SC/PARIS 2131\n" + "347077\n" + "230136\n" + "315153\n" + "113767\n" + "370365\n" + "111428\n" + "364849\n" + "349247\n" + "234604\n" + "28424\n" + "350046\n" + "230080\n" + "PC 17610\n" + "PC 17569\n" + "368703\n" + "4579\n" + "370370\n" + "248747\n" + "345770\n" + "CA. 2343\n" + "3101264\n" + "2628\n" + "A/5 3540\n" + "347054\n" + "3101278\n" + "2699\n" + "367231\n" + "112277\n" + "SOTON/O.Q. 3101311\n" + "F.C.C. 13528\n" + "A/5 21174\n" + "250646\n" + "367229\n" + "35273\n" + "STON/O2. 3101283\n" + "243847\n" + "11813\n" + "W/C 14208\n" + "SOTON/OQ 392089\n" + "220367\n" + "21440\n" + "349234\n" + "19943\n" + "PP 4348\n" + "SW/PP 751\n" + "A/5 21173\n" + "236171\n" + "4133\n" + "36973\n" + "347067\n" + "237442\n" + "347077\n" + "C.A. 29566\n" + "W./C. 6609\n" + "26707\n" + "C.A. 31921\n" + "28665\n" + "SCO/W 1585\n" + "2665\n" + "367230\n" + "W./C. 14263\n" + "STON/O 2. 3101275\n" + "2694\n" + "19928\n" + "347071\n" + "250649\n" + "11751\n" + "244252\n" + "362316\n" + "347054\n" + "113514\n" + "A/5. 3336\n" + "370129\n" + "2650\n" + "PC 17585\n" + "110152\n" + "PC 17755\n" + "230433\n" + "384461\n" + "347077\n" + "110413\n" + "112059\n" + "382649\n" + "C.A. 17248\n" + "3101295\n" + "347083\n" + "PC 17582\n" + "PC 17760\n" + "113798\n" + "LINE\n" + "250644\n" + "PC 17596\n" + "370375\n" + "13502\n" + "347073\n" + "239853\n" + "382652\n" + "C.A. 2673\n" + "336439\n" + "347464\n" + "345778\n" + "A/5. 10482\n" + "113056\n" + "349239\n" + "345774\n" + "349206\n" + "237798\n" + "370373\n" + "19877\n" + "11967\n" + "SC/Paris 2163\n" + "349236\n" + "349233\n" + "PC 17612\n" + "2693\n" + "113781\n" + "19988\n" + "PC 17558\n" + "9234\n" + "367226\n" + "LINE\n" + "226593\n" + "A/5 2466\n" + "113781\n" + "17421\n" + "PC 17758\n" + "P/PP 3381\n" + "PC 17485\n" + "11767\n" + "PC 17608\n" + "250651\n" + "349243\n" + "F.C.C. 13529\n" + "347470\n" + "244367\n" + "29011\n" + "36928\n" + "16966\n" + "A/5 21172\n" + "349219\n" + "234818\n" + "248738\n" + "CA. 2343\n" + "PC 17760\n" + "345364\n" + "28551\n" + "363291\n" + "111361\n" + "367226\n" + "113043\n" + "PC 17582\n" + "345764\n" + "PC 17611\n" + "349225\n" + "113776\n" + "16966\n" + "7598\n" + "113784\n" + "230080\n" + "19950\n" + "248740\n" + "244361\n" + "229236\n" + "248733\n" + "31418\n" + "386525\n" + "C.A. 37671\n" + "315088\n" + "7267\n" + "113510\n" + "2695\n" + "349237\n" + "2647\n" + "345783\n" + "113505\n" + "237671\n" + "330931\n" + "330980\n" + "347088\n" + "SC/PARIS 2167\n" + "2691\n" + "SOTON/O.Q. 3101310\n" + "370365\n" + "C 7076\n" + "110813\n" + "2626\n" + "14313\n" + "PC 17477\n" + "11765\n" + "3101267\n" + "323951\n" + "PC 17760\n" + "349909\n" + "PC 17604\n" + "C 7077\n" + "113503\n" + "2648\n" + "347069\n" + "PC 17757\n" + "2653\n" + "STON/O 2. 3101293\n" + "113789\n" + "349227\n" + "S.O.C. 14879\n" + "CA 2144\n" + "27849\n" + "367655\n" + "SC 1748\n" + "113760\n" + "350034\n" + "3101277\n" + "35273\n" + "PP 9549\n" + "350052\n" + "350407\n" + "28403\n" + "244278\n" + "240929\n" + "STON/O 2. 3101289\n" + "341826\n" + "4137\n" + "STON/O2. 3101279\n" + "315096\n" + "28664\n" + "347064\n" + "29106\n" + "312992\n" + "4133\n" + "349222\n" + "394140\n" + "19928\n" + "239853\n" + "STON/O 2. 3101269\n" + "343095\n" + "28220\n" + "250652\n" + "28228\n" + "345773\n" + "349254\n" + "A/5. 13032\n" + "315082\n" + "347080\n" + "370129\n" + "A/4. 34244\n" + "2003\n" + "250655\n" + "364851\n" + "SOTON/O.Q. 392078\n" + "110564\n" + "376564\n" + "SC/AH 3085\n" + "STON/O 2. 3101274\n" + "13507\n" + "113760\n" + "W./C. 6608\n" + "29106\n" + "19950\n" + "C.A. 18723\n" + "F.C.C. 13529\n" + "345769\n" + "347076\n" + "230434\n" + "65306\n" + "33638\n" + "250644\n" + "113794\n" + "2666\n" + "113786\n" + "C.A. 34651\n" + "65303\n" + "113051\n" + "17453\n" + "A/5 2817\n" + "349240\n" + "13509\n" + "17464\n" + "F.C.C. 13531\n" + "371060\n" + "19952\n" + "364506\n" + "111320\n" + "234360\n" + "A/S 2816\n" + "SOTON/O.Q. 3101306\n" + "239853\n" + "113792\n" + "36209\n" + "2666\n" + "323592\n" + "315089\n" + "C.A. 34651\n" + "SC/AH Basle 541\n" + "7553\n" + "110465\n" + "31027\n" + "3460\n" + "350060\n" + "3101298\n" + "CA 2144\n" + "239854\n" + "A/5 3594\n" + "4134\n" + "11967\n" + "4133\n" + "19943\n" + "11771\n" + "A.5. 18509\n" + "C.A. 37671\n" + "65304\n" + "SOTON/OQ 3101317\n" + "113787\n" + "PC 17609\n" + "A/4 45380\n" + "2627\n" + "36947\n" + "C.A. 6212\n" + "113781\n" + "350035\n" + "315086\n" + "364846\n" + "330909\n" + "4135\n" + "110152\n" + "PC 17758\n" + "26360\n" + "111427\n" + "C 4001\n" + "1601\n" + "382651\n" + "SOTON/OQ 3101316\n" + "PC 17473\n" + "PC 17603\n" + "349209\n" + "36967\n" + "C.A. 34260\n" + "371110\n" + "226875\n" + "349242\n" + "12749\n" + "349252\n" + "2624\n" + "111361\n" + "2700\n" + "367232\n" + "W./C. 14258\n" + "PC 17483\n" + "3101296\n" + "29104\n" + "26360\n" + "2641\n" + "2690\n" + "2668\n" + "315084\n" + "F.C.C. 13529\n" + "113050\n" + "PC 17761\n" + "364498\n" + "13568\n" + "WE/P 5735\n" + "347082\n" + "347082\n" + "2908\n" + "PC 17761\n" + "693\n" + "2908\n" + "SC/PARIS 2146\n" + "363291\n" + "C.A. 33112\n" + "17421\n" + "244358\n" + "330979\n" + "2620\n" + "347085\n" + "113807\n" + "11755\n" + "PC 17757\n" + "110413\n" + "345572\n" + "372622\n" + "349251\n" + "218629\n" + "SOTON/OQ 392082\n" + "SOTON/O.Q. 392087\n" + "A/4 48871\n" + "349205\n" + "349909\n" + "2686\n" + "350417\n" + "S.W./PP 752\n" + "11769\n" + "PC 17474\n" + "14312\n" + "A/4. 20589\n" + "358585\n" + "243880\n" + "13507\n" + "2689\n" + "STON/O 2. 3101286\n" + "237789\n" + "17421\n" + "28403\n" + "13049\n" + "3411\n" + "110413\n" + "237565\n" + "13567\n" + "14973\n" + "A./5. 3235\n" + "STON/O 2. 3101273\n" + "36947\n" + "A/5 3902\n" + "364848\n" + "SC/AH 29037\n" + "345773\n" + "248727\n" + "LINE\n" + "2664\n" + "PC 17485\n" + "243847\n" + "349214\n" + "113796\n" + "364511\n" + "111426\n" + "349910\n" + "349246\n" + "113804\n" + "SC/Paris 2123\n" + "PC 17582\n" + "347082\n" + "SOTON/O.Q. 3101305\n" + "367230\n" + "370377\n" + "364512\n" + "220845\n" + "347080\n" + "A/5. 3336\n" + "230136\n" + "31028\n" + "2659\n" + "11753\n" + "2653\n" + "350029\n" + "54636\n" + "36963\n" + "219533\n" + "13502\n" + "349224\n" + "334912\n" + "27042\n" + "347743\n" + "13214\n" + "112052\n" + "347088\n" + "237668\n" + "STON/O 2. 3101292\n" + "C.A. 31921\n" + "3101295\n" + "376564\n" + "350050\n" + "PC 17477\n" + "347088\n" + "1601\n" + "2666\n" + "PC 17572\n" + "349231\n" + "13213\n" + "S.O./P.P. 751\n" + "CA. 2314\n" + "349221\n" + "231919\n" + "8475\n" + "330919\n" + "365226\n" + "S.O.C. 14879\n" + "349223\n" + "364849\n" + "29751\n" + "35273\n" + "PC 17611\n" + "2623\n" + "5727\n" + "349210\n" + "STON/O 2. 3101285\n" + "S.O.C. 14879\n" + "234686\n" + "312993\n" + "A/5 3536\n" + "19996\n" + "29750\n" + "F.C. 12750\n" + "C.A. 24580\n" + "244270\n" + "239856\n" + "349912\n" + "342826\n" + "4138\n" + "CA 2144\n" + "PC 17755\n" + "330935\n" + "PC 17572\n" + "6563\n" + "CA 2144\n" + "29750\n" + "SC/Paris 2123\n" + "3101295\n" + "349228\n" + "350036\n" + "24160\n" + "17474\n" + "349256\n" + "1601\n" + "2672\n" + "113800\n" + "248731\n" + "363592\n" + "35852\n" + "17421\n" + "348121\n" + "PC 17757\n" + "PC 17475\n" + "2691\n" + "36864\n" + "350025\n" + "250655\n" + "223596\n" + "PC 17476\n" + "113781\n" + "2661\n" + "PC 17482\n" + "113028\n" + "19996\n" + "7545\n" + "250647\n" + "348124\n" + "PC 17757\n" + "34218\n" + "36568\n" + "347062\n" + "248727\n" + "350048\n" + "12233\n" + "250643\n" + "113806\n" + "315094\n" + "31027\n" + "36866\n" + "236853\n" + "STON/O2. 3101271\n" + "24160\n" + "2699\n" + "239855\n" + "28425\n" + "233639\n" + "54636\n" + "W./C. 6608\n" + "PC 17755\n" + "349201\n" + "349218\n" + "16988\n" + "19877\n" + "PC 17608\n" + "376566\n" + "STON/O 2. 3101288\n" + "WE/P 5735\n" + "C.A. 2673\n" + "250648\n" + "113773\n" + "335097\n" + "29103\n" + "392096\n" + "345780\n" + "349204\n" + "220845\n" + "250649\n" + "350042\n" + "29108\n" + "363294\n" + "110152\n" + "358585\n" + "SOTON/O2 3101272\n" + "2663\n" + "113760\n" + "347074\n" + "13502\n" + "112379\n" + "364850\n" + "371110\n" + "8471\n" + "345781\n" + "350047\n" + "S.O./P.P. 3\n" + "2674\n" + "29105\n" + "347078\n" + "383121\n" + "364516\n" + "36865\n" + "24160\n" + "2687\n" + "17474\n" + "113501\n" + "W./C. 6607\n" + "SOTON/O.Q. 3101312\n" + "374887\n" + "3101265\n" + "382652\n" + "C.A. 2315\n" + "PC 17593\n" + "12460\n" + "239865\n" + "CA. 2343\n" + "PC 17600\n" + "349203\n" + "28213\n" + "17465\n" + "349244\n" + "2685\n" + "345773\n" + "250647\n" + "C.A. 31921\n" + "113760\n" + "2625\n" + "347089\n" + "347063\n" + "112050\n" + "347087\n" + "248723\n" + "113806\n" + "3474\n" + "A/4 48871\n" + "28206\n" + "347082\n" + "364499\n" + "112058\n" + "STON/O2. 3101290\n" + "S.C./PARIS 2079\n" + "C 7075\n" + "347088\n" + "12749\n" + "315098\n" + "19972\n" + "392096\n" + "3101295\n" + "368323\n" + "1601\n" + "S.C./PARIS 2079\n" + "367228\n" + "113572\n" + "2659\n" + "29106\n" + "2671\n" + "347468\n" + "2223\n" + "PC 17756\n" + "315097\n" + "392092\n" + "1601\n" + "11774\n" + "SOTON/O2 3101287\n" + "S.O./P.P. 3\n" + "113798\n" + "2683\n" + "315090\n" + "C.A. 5547\n" + "CA. 2343\n" + "349213\n" + "248727\n" + "17453\n" + "347082\n" + "347060\n" + "2678\n" + "PC 17592\n" + "244252\n" + "392091\n" + "36928\n" + "113055\n" + "2666\n" + "2629\n" + "350026\n" + "28134\n" + "17466\n" + "CA. 2343\n" + "233866\n" + "236852\n" + "SC/PARIS 2149\n" + "PC 17590\n" + "345777\n" + "347742\n" + "349248\n" + "11751\n" + "695\n" + "345765\n" + "P/PP 3381\n" + "2667\n" + "7534\n" + "349212\n" + "349217\n" + "11767\n" + "230433\n" + "349257\n" + "7552\n" + "C.A./SOTON 34068\n" + "SOTON/OQ 392076\n" + "382652\n" + "211536\n" + "112053\n" + "W./C. 6607\n" + "111369\n" + "370376\n\n\n\n\n\n\n\n\n\n"; final String subst = ""; final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE); final Matcher matcher = pattern.matcher(string); // The substituted value will be contained in the result variable final String result = matcher.replaceAll(subst); System.out.println("Substitution result: " + result); } }

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