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

/
/
g

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 = "(\\d{3})(\\d{3})(\\d{4})"; final String string = "7809392938\n" + "4033420393\n" + "7808757619\n" + "7804627372\n" + "4033431930\n" + "7804401427\n" + "3065843029\n" + "3068734346\n" + "3065459158\n" + "4032513899\n" + "6138371733\n" + "6136396120\n" + "6133220669\n" + "6132832702\n" + "7056961818\n" + "8195233827\n" + "8195379506\n\n" + "8193710857\n\n\n" + "6044659476\n" + "5065360323\n" + "9025972293\n" + "9026675158\n" + "3064418455\n" + "7808952118\n" + "6134731171\n" + "4188779045\n" + "4186634875\n\n" + "4162860104\n" + "9056469563\n" + "6136344085\n" + "9054536644\n" + "5192827449\n" + "7053682779\n" + "7057521683\n" + "7054767377\n" + "7054971162\n" + "7057593131\n" + "8075472443\n" + "9054782200\n" + "4168386400\n" + "7053270706\n" + "7056896545\n" + "5197823445\n" + "5194557669\n" + "5195425944\n" + "5194262785\n" + "9057762200\n" + "8193369296\n" + "4509373605\n\n" + "5143860399\n" + "4503489425\n" + "4506781069\n" + "4182962342\n\n" + "8679207104\n" + "9059739040\n" + "7058474747\n" + "2505806048\n" + "2502180257\n" + "6042709933\n" + "4164348199\n" + "7057210639\n" + "7057349081\n" + "2504791217\n" + "3063733403\n" + "5065460100\n" + "7803973778\n" + "6049434754\n" + "9023544384\n" + "5068709204\n" + "4037196000\n" + "2508820609\n" + "2509611173\n" + "7095898574\n" + "3066915254\n" + "4183975361\n" + "9028375909\n" + "5199157304\n" + "4189483659\n" + "8196842529\n" + "5064507449\n" + "5063575494\n" + "5063672576\n" + "6048929667\n" + "3068915205\n" + "5066331384\n\n" + "2503655167\n" + "2502653235\n" + "2507529278\n" + "2506245540\n" + "2505674718\n" + "7097494516\n" + "7095767638\n" + "7098320809\n" + "9026792314\n" + "9026442913\n" + "9026442293\n" + "9028658567\n" + "9027369404\n" + "9027423186\n" + "9028933908\n" + "4035278016\n" + "4032265840\n" + "4033278207\n" + "3062492680\n" + "2042756980\n" + "2046385237\n" + "2043393316\n" + "4506470945\n" + "4187383045\n" + "2505372791\n" + "9026872112\n" + "5193744315\n" + "4165968575\n" + "4036523816\n" + "6137283666\n" + "2504447144\n" + "4187360000\n" + "4188150011\n" + "8676672570\n" + "4504784078\n" + "5194810153\n" + "7806251607\n" + "4186957692\n" + "4506494109\n" + "6132668702\n" + "2507663003\n" + "6049901059\n" + "6139302145\n" + "2507232093\n" + "5199423280\n" + "6134765593\n" + "5064595336\n" + "5193519378\n" + "2508301088\n" + "8196372035\n" + "9028753656\n" + "9059346500\n" + "8075770789\n" + "6477909063\n" + "6049465187\n" + "7056462443\n" + "2505922183\n" + "7782161820\n" + "5192653223\n" + "5063974955\n" + "7092564814\n" + "4033370181\n" + "8198773421\n" + "9023683266\n" + "4033908888\n" + "3066936127\n" + "5199416173\n" + "4167812753\n" + "8676687380\n" + "6048460630\n" + "6137964840\n" + "5193376209\n" + "2506355865\n" + "2508474469\n" + "7056626061\n" + "9053080060\n" + "9054597533\n" + "9057237320\n" + "7803324545\n" + "2505542598\n" + "9026388451\n" + "8193783753\n" + "2507632056\n" + "5067354659\n" + "2505542955\n" + "7059465040\n" + "2046873964\n" + "6042028854\n" + "2048425342\n" + "7097456052\n" + "7056925631\n" + "9025661497\n\n" + "4509331802\n" + "4035274710\n" + "5195833619\n" + "5144575112\n" + "6136344247\n" + "5192419733\n" + "9055716776\n" + "6134760233\n" + "2504266049\n\n" + "6477634195\n" + "5146070708\n" + "5067552960\n" + "3069809211\n" + "4503022369\n\n" + "7804543304\n" + "7804637212\n" + "4032088354\n" + "4032819500\n" + "8673349753\n" + "8679207515\n" + "2507835562\n" + "4037586887\n" + "2508252215\n" + "7092273714\n" + "4186724195\n" + "6134157330\n" + "9052784681\n" + "4508354914\n" + "6047323899\n" + "8076226386\n" + "7807157130\n" + "5068588300\n" + "6133899546\n" + "4035273688\n" + "6042234345\n" + "2504931671\n" + "8198408405\n" + "2506890329\n" + "2507218688\n" + "6045911825\n" + "6044698609\n" + "3069241004\n" + "9055502464\n" + "4507772134\n" + "4166881095\n" + "5194733618\n" + "7057495520\n" + "9053324976\n" + "6042715299\n" + "6048856208\n" + "2503378239\n\n" + "2502454938\n" + "2506275956\n" + "5066331384\n" + "7053601885\n" + "6043392005\n" + "6472959264\n" + "4508186798\n" + "5146953528\n" + "2508324265\n\n" + "8079372062\n" + "8198555822\n" + "6136322153\n" + "2894311030\n" + "6049850214\n" + "9024364910\n" + "9028364364\n" + "2504422663\n" + "7059421737\n" + "9052799187\n" + "9057360310\n\n" + "4037586427\n" + "4183000661\n" + "9028257522\n" + "5144819024\n\n" + "4509644266\n" + "4039020100\n" + "3066347693\n\n" + "7053350460\n\n" + "5068321992\n" + "7057439571\n\n" + "7804674856\n" + "6138974467\n" + "5146298848\n" + "8677664124\n" + "5067399737\n" + "9028636932\n" + "7787824971\n" + "6042506974\n\n" + "5199698893\n" + "2508608660\n" + "5197370274\n" + "6042001562\n" + "6472004306\n" + "4167595783\n\n" + "3067782686\n" + "7804678679\n" + "6472338817\n" + "7057457119\n" + "7808122731\n\n" + "2507543528\n" + "4504717099\n" + "6135307723\n" + "4507993777\n" + "8195646350\n" + "7804794690\n" + "5197437840\n" + "4505300810\n\n" + "5196335949\n" + "4502248479\n" + "9023964040\n" + "4168547404\n" + "4033806498\n" + "2044779125\n\n" + "9025821561\n" + "9024662124\n" + "9024044215\n\n\n" + "7054812054\n" + "7097486282\n\n\n\n" + "6042437418\n\n\n" + "5064723929\n" + "5064548676\n" + "5064585957\n" + "5146884163\n" + "7059875411\n\n" + "7808269012\n" + "3066523701\n" + "7097271098\n" + "6134537921\n" + "2507684212\n" + "8192229743\n" + "4189624834\n" + "2509270781\n" + "4185628441\n" + "5194897027\n" + "7806675393\n"; final Pattern pattern = Pattern.compile(regex); 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