Regular Expressions 101

Save & Manage Regex

  • Current Version: 1
  • Save & Share
  • Community Library

Flavor

  • PCRE2 (PHP)
  • ECMAScript (JavaScript)
  • Python
  • Golang
  • Java
  • .NET 7.0 (C#)
  • Rust
  • PCRE (Legacy)
  • Regex Flavor Guide

Function

  • Match
  • Substitution
  • List
  • Unit Tests
Sponsors
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
Processing...

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 = "Call-ID: (?P<method>[A-Za-z0-9_]+)-"; final String string = "-------------------------- LTETAS99A --------------------------\n" + "SUNGSU 2019-10-14 13:33:45.554 MON ON LTETASOMP99\n" + " MSIPX3 RECV REQUEST FROM 172.28.109.98:5067\n" + " Src Addr : <211.188.227.6:8102> Dest Addr : <211.188.227.6:5083>\n" + " From : <01052938592>\n" + " To : <01020259013>\n" + " Size : 2206 Bytes (sip:1740, body:466)\n\n" + " SIP MSG ::=\n" + " {\n" + " INVITE tel:01020259013;phone-context=sktims.net SIP/2.0\n" + " INVITE sip:01089186220@sktims.net SIP/2.0\n" + " BYE sip:CSM1MSIPX1@172.28.109.115:5073;tu=3 SIP/2.0\n\n" + " REGISTER sip:rvtas22.sktims.net;lr SIP/2.0\n" + " REGISTER sip:scscf24.sktims.net;lr SIP/2.0\n" + " INVITE tel:01054736915;phone-context=sktims.net SIP/2.0\n" + " INVITE sip:ivr@icrbt08.sktims.net SIP/2.0\n" + " INVITE tel:01054736915;phone-context=sktims.net SIP/2.0\n" + " INVITE sip:01054736915@sktims.net SIP/2.0\n" + " INVITE sip:01054736915@sktims.net SIP/2.0\n" + " ACK sip:pointi_service@192.168.152.88:5060 SIP/2.0\n" + " PRACK sip:CSM1MSIPX2@223.38.5.33:5072;tu=2;orig SIP/2.0\n" + " PRACK sip:CSM1MSIPX1@223.38.5.32:5073;tu=2 SIP/2.0\n" + " PRACK sip:CSM1MSIPX1@223.38.5.32:5073;tu=2 SIP/2.0\n" + " INFO sip:pointi_service@192.168.152.88:5060 SIP/2.0\n" + " INFO sip:MSIPX@223.38.5.32:5075;tu=2;mrf SIP/2.0\n" + " BYE sip:pointi_service@192.168.152.88:5060 SIP/2.0\n" + " ACK sip:CSM1MSIPX2@223.38.5.33:5072;tu=2;orig SIP/2.0\n" + " ACK sip:CSM1MSIPX1@223.38.5.32:5073;tu=2 SIP/2.0\n" + " ACK sip:CSM1MSIPX1@223.38.5.32:5073;tu=2 SIP/2.0\n" + " ACK sip:01054736915@172.28.109.82:5180 SIP/2.0\n\n" + " Record-Route: <sip:SCSM3-ut00so-tu11@172.28.109.98:5067;lr>\n" + " Route: <sip:orig@otas99.sktims.net;lr>\n" + " Route: <sip:SCSM3-orig-tu111571027625-45014022@172.28.109.98:5067;lr>\n" + " Via: SIP/2.0/UDP 172.28.109.98:5067;branch=z9hG4bK%11%%SCSM3-tu11-cmo-rru'SCSM3-ut00so-tu11'%7fdfdbcfb8e0437a1359_7c935;received=211.188.227.6;rport=8102\n" + " Via: SIP/2.0/UDP 172.28.109.89:5180;branch=z9hG4bK7fd208892a703e0cad3e_6fba8\n" + " P-Asserted-Identity: sip:01052938592@sktims.net\n" + " Max-Forwards: 68\n" + " To: <tel:01020259013;phone-context=sktims.net>\n" + " From: <sip:01052938592@sktims.net>;tag=36df023a\n" + " From: <tel:01085222359;phone-context=sktims.net>;tag=2a4f25f7e38c1\n" + " From: <sip:114@sktims.net>;tag=337259\n" + " From: \"SKi…”e??i½¤e³?e°?i?¼i?°\"<sip:114@sktims.net>;tag=62a4a407689e7\n\n" + " Call-ID: H_ABC242A-nDcgZ_h6tWoSp7HAheBprQ..@2001:2d8:234:aa35::56a1:70a5\n" + " Call-ID: SCSM1-H_ABC231A-44fkaDYDRUtGXwlkoMaWzg..@2001:2d8:e90f:ab33::24fe:e0a4\n" + " Call-ID: H_ABC231A-44fkaDYDRUtGXwlkoMaWzg..@2001:2d8:e90f:ab33::24fe:e0a4\n" + " Call-ID: SCSM1-H_ABC231A-44fkaDYDRUtGXwlkoMaWzg..@2001:2d8:e90f:ab33::24fe:e0a4\n" + " Call-ID: ob2bua-8V4536iZxSmCHgMmCJfk2w..@2001:2d8:6557:4c99::110:c855\n" + " Call-ID: MR22I1X2_0760e01b-c49730-955496be5d-B3F97470-e4a-a4330-005ff403@223.38.5.32\n" + " Call-ID: OT23C122_ob2bua-8V4536iZxSmCHgMmCJfk2w..@2001:2d8:6557:4c99::110:c855\n" + " Call-ID: OT23C122_ob2bua-8V4536iZxSmCHgMmCJfk2w..@2001:2d8:6557:4c99::110:c855\n" + " Call-ID: OT23C122_ob2bua-8V4536iZxSmCHgMmCJfk2w..@2001:2d8:6557:4c99::110:c855\n" + " Call-ID: TT22C112_OT23C122_ob2bua-8V4536iZxSmCHgMmCJfk2w..@2001:2d8:6557:4c99::110:c855\n" + " Call-ID: TT22C112_OT23C122_ob2bua-8V4536iZxSmCHgMmCJfk2w..@2001:2d8:6557:4c99::110:c855\n" + " Call-ID: TT22C112_OT23C122_ob2bua-8V4536iZxSmCHgMmCJfk2w..@2001:2d8:6557:4c99::110:c855\n" + " Call-ID: OT23C122_ob2bua-8V4536iZxSmCHgMmCJfk2w..@2001:2d8:6557:4c99::110:c855\n" + " Call-ID: OT23C122_ob2bua-8V4536iZxSmCHgMmCJfk2w..@2001:2d8:6557:4c99::110:c855\n" + " Call-ID: ob2bua-8V4536iZxSmCHgMmCJfk2w..@2001:2d8:6557:4c99::110:c855\n" + " Call-ID: MR22I1X2_0760e01b-c49730-955496be5d-B3F97470-e4a-a4330-005ff403@223.38.5.32\n" + " Call-ID: ob2bua-8V4536iZxSmCHgMmCJfk2w..@2001:2d8:6557:4c99::110:c855\n" + " Call-ID: OT23C122_ob2bua-8V4536iZxSmCHgMmCJfk2w..@2001:2d8:6557:4c99::110:c855\n" + " Call-ID: OT23C122_ob2bua-8V4536iZxSmCHgMmCJfk2w..@2001:2d8:6557:4c99::110:c855\n" + " Call-ID: OT23C122_ob2bua-8V4536iZxSmCHgMmCJfk2w..@2001:2d8:6557:4c99::110:c855\n" + " Call-ID: OT23C122_ob2bua-8V4536iZxSmCHgMmCJfk2w..@2001:2d8:6557:4c99::110:c855\n" + " Call-ID: ob2bua-8V4536iZxSmCHgMmCJfk2w..@2001:2d8:6557:4c99::110:c855\n" + " Call-ID: MR22I1X2_0760e01b-c49730-955496be5d-B3F97470-e4a-a4330-005ff403@223.38.5.32\n" + " Call-ID: MR22I1X2_0760e01b-c49730-955496be5d-B3F97470-e4a-a4330-005ff403@223.38.5.32\n" + " Call-ID: MR22I1X2_0760e01b-c49730-955496be5d-B3F97470-e4a-a4330-005ff403@223.38.5.32\n" + " Call-ID: MR22I1X2_0760e01b-c49730-955496be5d-B3F97470-e4a-a4330-005ff403@223.38.5.32\n" + " Call-ID: MR22I1X2_0760e01b-c49730-955496be5d-B3F97470-e4a-a4330-005ff403@223.38.5.32\n" + " Call-ID: OT23C122_ob2bua-8V4536iZxSmCHgMmCJfk2w..@2001:2d8:6557:4c99::110:c855\n" + " Call-ID: OT23C122_ob2bua-8V4536iZxSmCHgMmCJfk2w..@2001:2d8:6557:4c99::110:c855\n" + " Call-ID: ob2bua-8V4536iZxSmCHgMmCJfk2w..@2001:2d8:6557:4c99::110:c855\n" + " Call-ID: MR22I1X2_0760e01b-c49730-955496be5d-B3F97470-e4a-a4330-005ff403@223.38.5.32\n" + " Call-ID: TT22C112_OT23C122_ob2bua-8V4536iZxSmCHgMmCJfk2w..@2001:2d8:6557:4c99::110:c855\n" + " Call-ID: OT23C122_ob2bua-8V4536iZxSmCHgMmCJfk2w..@2001:2d8:6557:4c99::110:c855\n" + " Call-ID: OT23C122_ob2bua-8V4536iZxSmCHgMmCJfk2w..@2001:2d8:6557:4c99::110:c855\n" + " Call-ID: ob2bua-8V4536iZxSmCHgMmCJfk2w..@2001:2d8:6557:4c99::110:c855\n" + " Call-ID: ob2bua-8V4536iZxSmCHgMmCJfk2w..@2001:2d8:6557:4c99::110:c855\n" + " Call-ID: OT23C122_ob2bua-8V4536iZxSmCHgMmCJfk2w..@2001:2d8:6557:4c99::110:c855\n" + " Call-ID: OT23C122_ob2bua-8V4536iZxSmCHgMmCJfk2w..@2001:2d8:6557:4c99::110:c855\n" + " Call-ID: TT22C112_OT23C122_ob2bua-V4536iZxSmCHgMmCJfk2w..@2001:2d8:6557:4c99::110:c855\n\n" + " CSeq: 1 INVITE\n" + " Session-Expires: 1800;refresher=uac\n" + " Allow: INVITE, ACK, OPTIONS, CANCEL, BYE, UPDATE, INFO, REFER, NOTIFY, MESSAGE, PRACK\n" + " Content-Type: application/sdp\n" + " Supported: timer, 100rel, sec-agree\n" + " User-Agent: TTA-VoLTE/3.0 SM-G977N/SH6_SH6 Device_Type/Android_Phone SKT\n" + " Accept-Contact: *;+g.3gpp.icsi-ref=\"urn%3Aurn-7%3A3gpp-service.ims.icsi.mmtel\";require;explicit\n" + " P-Early-Media: supported\n" + " P-TTA-VoLTE-Info: avchange\n" + " P-Access-Network-Info: 3GPP-E-UTRAN-FDD;utran-cell-id-3gpp=45005080a074af8b\n" + " Content-Length: 466\n" + " Contact: <sip:01052938592-517b78dfb70cccf4@172.28.109.89:5180;ep=[2001:2d8:234:aa35::56a1:70a5]:6200;fw=[2001:2d8:234:aa35::56a1:70a5]:6200;ipsec>;+g.3gpp.icsi-ref=\"urn%3Aurn-7%3A3gpp-service.ims.icsi.mmtel\";video\n" + " P-Served-User: <sip:01052938592@sktims.net>;sescase=orig;regstate=reg\n" + " P-Charging-Vector: icid-value=\"abc24.sktims.net-s-6d9061000e2d4be3\"\n" + " P-Asserted-Service: urn:urn-7:3gpp-service.ims.icsi.mmtel\n" + " P-Charging-Function-Addresses: ccf=\"aaa://imscg4.sktims.net\"; ccf=\"aaa://imscg3.sktims.net\"\n" + " \n" + " v=0\n" + " o=abc 1571027623778107 0 IN IP4 172.28.107.172\n" + " s=-\n" + " c=IN IP4 172.28.107.172\n" + " t=0 0\n" + " m=audio 46284 RTP/AVP 110 100 98 103 101\n" + " b=AS:42\n" + " b=RS:0\n" + " b=RR:800\n" + " a=rtpmap:110 EVS/16000\n" + " a=fmtp:110 br=9.6-24.4;bw=nb-swb\n" + " a=rtpmap:100 AMR-WB/16000/1\n" + " a=fmtp:100 octet-align=1\n" + " a=rtpmap:98 AMR/8000/1\n" + " a=fmtp:98 octet-align=1\n" + " a=rtpmap:103 telephone-event/16000\n" + " a=fmtp:103 0-15\n" + " a=rtpmap:101 telephone-event/8000\n" + " a=fmtp:101 0-15\n" + " a=sendrecv\n" + " a=ptime:20\n" + " a=maxptime:120\n" + " \n" + " }\n" + "COMPLETED"; 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