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

/
/

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 = "[]\\r\\n]+\\d{4}\\/\\d{2}\\/\\d{2}\\s\\d{2}\\:\\d{2}\\:\\d{2}\\.\\d{7}\\s\\d{4}"; final String string = "2015/08/13 18:20:35.0450892 1104 10780 Shared * START * Service startup\n" + "2015/08/13 18:20:35.0536222 1104 10780 Agent WU client version 10.0.10240.16397\n" + "2015/08/13 18:20:35.0538960 1104 10780 Agent SleepStudyTracker: Machine is non-AOAC. Sleep study tracker disabled.\n" + "2015/08/13 18:20:35.0539537 1104 10780 Agent Base directory: C:\\WINDOWS\\SoftwareDistribution\n" + "2015/08/13 18:20:35.0540354 1104 10780 Shared UpdateNetworkState Ipv6, cNetworkInterfaces = 8.\n" + "2015/08/13 18:20:35.0540549 1104 10780 Shared UpdateNetworkState Ipv4, cNetworkInterfaces = 2.\n" + "2015/08/13 18:20:35.0544494 1104 10780 Shared Network state: Connected\n" + "2015/08/13 18:20:35.0580648 1104 10780 Shared UpdateNetworkState Ipv6, cNetworkInterfaces = 8.\n" + "2015/08/13 18:20:35.0580736 1104 10780 Shared UpdateNetworkState Ipv4, cNetworkInterfaces = 2.\n" + "2015/08/13 18:20:35.0580804 1104 10780 Shared Power status changed\n" + "2015/08/13 18:20:35.0718558 1104 10780 Agent Initializing global settings cache\n" + "2015/08/13 18:20:35.0718573 1104 10780 Agent WSUS server: NULL\n" + "2015/08/13 18:20:35.0718583 1104 10780 Agent WSUS status server: NULL\n" + "2015/08/13 18:20:35.0718593 1104 10780 Agent Target group: (Unassigned Computers)\n" + "2015/08/13 18:20:35.0718602 1104 10780 Agent Windows Update access disabled: No\n" + "2015/08/13 18:20:35.0723643 1104 10780 Agent Timer: 855E8A7C-ECB4-4CA3-B045-1DFA50104289, Expires 2015-08-13 22:22:28, not idle-only, <NULL>network-only\n" + "2015/08/13 18:20:35.0723702 1104 10780 Agent Timer: 29A863E7-8609-4D1E-B7CD-5668F857F1DB, Expires 2015-08-14 17:45:53, not idle-only, not network-only\n" + "2015/08/13 18:20:35.0767535 1104 10780 Agent Initializing Windows Update Agent\n" + "2015/08/13 18:20:35.0768073 1104 10780 DownloadManager Download manager restoring 0 downloads\n" + "2015/08/13 18:20:35.0768674 1104 10780 Agent CPersistentTimeoutScheduler | GetTimer, returned hr = 0x00000000\n" + "2015/08/13 18:20:35.2159607 1104 11340 DownloadManager PurgeExpiredFiles::Found 0 expired files to delete.\n" + "2015/08/13 18:20:35.2217267 1104 11340 DownloadManager PurgeExpiredUpdates::Found 606 non expired updates.\n" + "2015/08/13 18:20:35.3462873 1104 11340 DownloadManager PurgeExpiredUpdates::Found 0 expired updates.\n" + "2015/08/13 18:20:35.3466012 1104 11340 Shared Effective power state: AC"; final Pattern pattern = Pattern.compile(regex); final Matcher matcher = pattern.matcher(string); if (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