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
No Match

/
/
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 = "(https\\:\\\\\\/\\\\\\/video2\\.+)([a-zA-Z0-9]+)(\\.com\\\\\\/key\\=+)([a-zA-Z0-9+-]+)(\\,end\\=[a-zA-Z0-9]+)(\\,limit\\=3\\\\\\/data\\=)([a-zA-Z0-9]+)(\\.[a-zA-Z0-9]+)(\\.[a-zA-Z0-9]+)(\\.[a-zA-Z0-9]+)(\\-mv\\\\\\/speed\\=[a-zA-Z0-9]+)(\\\\\\/initial\\_buffer\\=[a-zA-Z0-9]+)(\\\\\\/[a-zA-Z0-9]+)(\\\\\\/[a-zA-Z0-9]+)(\\\\\\/[a-zA-Z0-9]+)(\\\\\\/[a-zA-Z0-9]+)(\\.[a-zA-Z0-9]+)(\\.mp4)"; final String string = "https:\\/\\/thumb-v-cl2.xhcdn.com\\/a\\/UpUWjQ0naov6PDPQutV2gQ\\/009\\/977\\/291\\/320x240.3.jpg\",\"platform\":\"android\",\"duration\":726,\"fallback\":{\"fallbackImageClass\":\"xplayer-fallback-image\"},\"hlsConfig\":{\"libSrc\":\"https:\\/\\/static-cl.xhcdn.com\\/js\\/hls.js\",\"maxBufferLength\":10,\"maxBufferSize\":10000000,\"maxMaxBufferLength\":120},\"sources\":{\"standard\":{\"vp9\":[{\"url\":\"https:\\/\\/video5.xhcdn.com\\/key=ArIS24azT212T7rlq2JYOA,end=1534017600,limit=3\\/data=107.12.224.13-mv\\/speed=294k\\/initial_buffer=657952\\/009\\/977\\/291\\/720p.vp9.webm\",\"fallback\":\"https:\\/\\/19-14.b.cdn13.com\\/009\\/977\\/291\\/720p.vp9.webm?cdn_creation_time=1534003200&cdn_ttl=14400&cdn_bw=294k&cdn_bw_fs=643k&cdn_cv_data=107.12.224.13-mv&cdn_hash=8f32053b3a204e397e1c509d8c55b8c6\",\"quality\":\"720p\",\"label\":\"720p\",\"type\":\"HD\"}],\"h265\":[{\"url\":\"https:\\/\\/video4.xhcdn.com\\/key=USM0qN+ZPKuWvDQ930QxQw,end=1534017600,limit=3\\/data=107.12.224.13-mv\\/speed=232k\\/initial_buffer=657952\\/009\\/977\\/291\\/720p.h265.mp4\",\"fallback\":\"https:\\/\\/19-13.b.cdn13.com\\/009\\/977\\/291\\/720p.h265.mp4?cdn_creation_time=1534003200&cdn_ttl=14400&cdn_bw=232k&cdn_bw_fs=643k&cdn_cv_data=107.12.224.13-mv&cdn_hash=7d666c372589a913757eecc6c2dc11da\",\"quality\":\"720p\",\"label\":\"720p\",\"type\":\"HD\"}],\"mp4\":[{\"url\":\"https:\\/\\/video2.xhcdn.com\\/key=BiIiv7GdsQSuPxg9SRIrbg,end=1534017600,limit=3\\/data=107.12.224.13-mv\\/speed=464k\\/initial_buffer=657952\\/009\\/977\\/291\\/720p.h264.mp4\",\"fallback\":\"https:\\/\\/19-11.b.cdn13.com\\/009\\/977\\/291\\/720p.h264.mp4?cdn_creation_time=1534003200&cdn_ttl=14400&cdn_bw=464k&cdn_bw_fs=643k&cdn_cv_data=107.12.224.13-mv&cdn_hash=7e82410ea292a37c1daaf359699d3953\",\"quality\":\"720p\",\"label\":\"720p\",\"type\":\"HD\"},{\"url\":\"https:\\/\\/video2.xhcdn.com\\/key=hpb+W+8whtZRJw+jfMdHUw,end=1534017600,limit=3\\/data=107.12.224.13-mv\\/speed=242k\\/initial_buffer=657952\\/009\\/977\\/291\\/480p.h264.mp4\",\"fallback\":\"https:\\/\\/19-11.b.cdn13.com\\/009\\/977\\/291\\/480p.h264.mp4?cdn_creation_time=1534003200&cdn_ttl=14400&cdn_bw=242k&cdn_bw_fs=643k&cdn_cv_data=107.12.224.13-mv&cdn_hash=49929359209c0d9c6cd7deb8e90ecd22\",\"quality\":\"480p\",\"label\":\"480p\",\"type\":\"\"},{\"url\":\"https:\\/\\/video2.xhcdn.com\\/key=7geyd-JfggobJpYnpAdaHw,end=1534017600,limit=3\\/data=107.12.224.13-mv\\/speed=120k\\/initial_buffer=657952\\/009\\/977\\/291\\/240p.h264.mp4\",\"fallback\":\"https:\\/\\/19-11.b.cdn13.com\\/009\\/977\\/291\\/240p.h264.mp4?cdn_creation_time=1534003200&cdn_ttl=14400&cdn_bw=120k&cdn_bw_fs=643k&cdn_cv_data=107.12.224.13-mv&cdn_hash=e251646a2b28b9802a3c6570550001bc\",\"quality\":\"240p\",\"label\":\"240p\",\"type\":\"\"}]}}"; 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