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

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 = "<tr><td class=\"time\">([a-zA-Z0-9 ]+)<\\/td><td class=\"icon\"><div class=\"lazy entered loaded\" data-bg=\"([^[<>]+)\" data-ll-status=\"loaded\" style=\"background-image:url\\(&quot;([^[<>]+)&quot;\\)\"><\\/div><\\/td><td class=\"track\"><span class=\"artist_in_trackcolumn\"><a href=\"([^[<>]+)\">([^[<>]+)<\\/a><\\/span>–<a href=\"([^[<>]+)\">([^[<>]+)<\\/a><\\/td><\\/tr>"; final String string = "<tbody><tr><td class=\"time\">111 minutes ago</td><td class=\"icon\"><div class=\"lazy entered loaded\" data-bg=\"/image?track_id=5022\" data-ll-status=\"loaded\" style=\"background-image:url(&quot;/image?track_id=5022&quot;)\"></div></td><td class=\"track\"><span class=\"artist_in_trackcolumn\"><a href=\"/artist?artist=Jeremy+Soule\">Jeremy Soule</a></span>–<a href=\"/track?trackartist=Jeremy+Soule&amp;title=Crystal+Oasis\">Crystal Oasis</a></td></tr><tr><td class=\"time\">113 minutes ago</td><td class=\"icon\"><div class=\"lazy entered loaded\" data-bg=\"/image?track_id=225\" data-ll-status=\"loaded\" style=\"background-image:url(&quot;/image?track_id=225&quot;)\"></div></td><td class=\"track\"><span class=\"artist_in_trackcolumn\"><a href=\"/artist?artist=Jeremy+Soule\">Jeremy Soule</a></span>–<a href=\"/track?trackartist=Jeremy+Soule&amp;title=Land+of+the+Golden+Sun\">Land of the Golden Sun</a></td></tr><tr><td class=\"time\">2 hours ago</td><td class=\"icon\"><div class=\"lazy entered loaded\" data-bg=\"/image?track_id=11687\" data-ll-status=\"loaded\" style=\"background-image:url(&quot;/image?track_id=11687&quot;)\"></div></td><td class=\"track\"><span class=\"artist_in_trackcolumn\"><a href=\"/artist?artist=SunoAI\">SunoAI</a></span>–<a href=\"/track?trackartist=SunoAI&amp;title=Kapitan+%28%D0%9A%D0%B0%D0%BF%D0%B8%D1%82%D0%B0%D0%BD%29\">Kapitan (Капитан)</a></td></tr><tr><td class=\"time\">2 hours ago</td><td class=\"icon\"><div class=\"lazy entered loaded\" data-bg=\"/image?track_id=11686\" data-ll-status=\"loaded\" style=\"background-image:url(&quot;/image?track_id=11686&quot;)\"></div></td><td class=\"track\"><span class=\"artist_in_trackcolumn\"><a href=\"/artist?artist=SunoAI\">SunoAI</a></span>–<a href=\"/track?trackartist=SunoAI&amp;title=Let%27s+Swing+the+Oars+%28%E8%AE%A9%E6%88%91%E4%BB%AC%E8%8D%A1%E8%B5%B7%E5%8F%8C%E6%A1%A8%29\">Let's Swing the Oars (让我们荡起双桨)</a></td></tr><tr><td class=\"time\">3 hours ago</td><td class=\"icon\"><div class=\"lazy entered loaded\" data-bg=\"/image?track_id=225\" data-ll-status=\"loaded\" style=\"background-image:url(&quot;/image?track_id=225&quot;)\"></div></td><td class=\"track\"><span class=\"artist_in_trackcolumn\"><a href=\"/artist?artist=Jeremy+Soule\">Jeremy Soule</a></span>–<a href=\"/track?trackartist=Jeremy+Soule&amp;title=Land+of+the+Golden+Sun\">Land of the Golden Sun</a></td></tr><tr><td class=\"time\">3 hours ago</td><td class=\"icon\"><div class=\"lazy entered loaded\" data-bg=\"/image?track_id=11089\" data-ll-status=\"loaded\" style=\"background-image:url(&quot;/image?track_id=11089&quot;)\"></div></td><td class=\"track\"><span class=\"artist_in_trackcolumn\"><a href=\"/artist?artist=Jeremy+Soule\">Jeremy Soule</a></span>–<a href=\"/track?trackartist=Jeremy+Soule&amp;title=Gathering+Storm\">Gathering Storm</a></td></tr><tr><td class=\"time\">3 hours ago</td><td class=\"icon\"><div class=\"lazy entered loaded\" data-bg=\"/image?track_id=225\" data-ll-status=\"loaded\" style=\"background-image:url(&quot;/image?track_id=225&quot;)\"></div></td><td class=\"track\"><span class=\"artist_in_trackcolumn\"><a href=\"/artist?artist=Jeremy+Soule\">Jeremy Soule</a></span>–<a href=\"/track?trackartist=Jeremy+Soule&amp;title=Land+of+the+Golden+Sun\">Land of the Golden Sun</a></td></tr><tr><td class=\"time\">13 hours ago</td><td class=\"icon\"><div class=\"lazy entered loaded\" data-bg=\"/image?track_id=11654\" data-ll-status=\"loaded\" style=\"background-image:url(&quot;/image?track_id=11654&quot;)\"></div></td><td class=\"track\"><span class=\"artist_in_trackcolumn\"><a href=\"/artist?artist=Jihyo\">Jihyo</a></span>–<a href=\"/track?trackartist=Jihyo&amp;title=Killin%27+Me+Good+%28English+Ver.%29\">Killin' Me Good (English Ver.)</a></td></tr><tr><td class=\"time\">13 hours ago</td><td class=\"icon\"><div class=\"lazy entered loaded\" data-bg=\"/image?track_id=3907\" data-ll-status=\"loaded\" style=\"background-image:url(&quot;/image?track_id=3907&quot;)\"></div></td><td class=\"track\"><span class=\"artist_in_trackcolumn\"><a href=\"/artist?artist=Soyeon\">Soyeon</a></span>–<a href=\"/track?trackartist=Soyeon&amp;title=Psycho\">Psycho</a></td></tr><tr><td class=\"time\">13 hours ago</td><td class=\"icon\"><div class=\"lazy entered loaded\" data-bg=\"/image?track_id=3906\" data-ll-status=\"loaded\" style=\"background-image:url(&quot;/image?track_id=3906&quot;)\"></div></td><td class=\"track\"><span class=\"artist_in_trackcolumn\"><a href=\"/artist?artist=Soyeon\">Soyeon</a></span>–<a href=\"/track?trackartist=Soyeon&amp;title=Quit\">Quit</a></td></tr><tr><td class=\"time\">13 hours ago</td><td class=\"icon\"><div class=\"lazy entered loaded\" data-bg=\"/image?track_id=3720\" data-ll-status=\"loaded\" style=\"background-image:url(&quot;/image?track_id=3720&quot;)\"></div></td><td class=\"track\"><span class=\"artist_in_trackcolumn\"><a href=\"/artist?artist=Soyeon\">Soyeon</a></span>–<a href=\"/track?trackartist=Soyeon&amp;title=Beam+Beam\">Beam Beam</a></td></tr><tr><td class=\"time\">13 hours ago</td><td class=\"icon\"><div class=\"lazy entered loaded\" data-bg=\"/image?track_id=11257\" data-ll-status=\"loaded\" style=\"background-image:url(&quot;/image?track_id=11257&quot;)\"></div></td><td class=\"track\"><span class=\"artist_in_trackcolumn\"><a href=\"/artist?artist=Soyeon\">Soyeon</a></span>–<a href=\"/track?trackartist=Soyeon&amp;title=A-MOONO-KE+%28I%E2%80%99m+OK%29\">A-MOONO-KE (I’m OK)</a></td></tr></tbody>"; 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