Regular Expressions 101

Save & Share

  • Regex Version: ver. 1
  • Update Regex
    ctrl+⇧+s
  • Save new Regex
    ctrl+s
  • Add to Community Library

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

/
/
mi

Test String

Code Generator

Generated Code

package main import ( "regexp" "fmt" ) func main() { var re = regexp.MustCompile(`(?mi)<div id="myScreen"[\s\S]*?<\/div>\s*<\/form>`) var str = `<!DOCTYPE html> <html class="no-js" lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="x-ua-compatible" content="ie=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="assets/css/app.css"></link> <title>App Android</title> </head> <form action="#" class="formulario" name="formulario"> <style> .campo-texto { color: #7B7D7D; height: 30px; position: absolute; padding: 0px 5px 0px 5px; border-style: ridge; resize: horizontal; overflow-x: hidden; overflow-y: hidden; background-color: white; text-align: left; border-radius: 6px; } .campo-botao { position: absolute; height: 28px; width: 80px; border: 2px solid rgba(0, 0, 0, 0.3); text-align: center; border-radius: 6px; box-shadow: 2px 2px 2px #888; overflow: hidden; } .campo-prompt { position: absolute; min-height: 20px; display: inline-block; padding: 0px 5px 0px 5px; border: 1px dotted black; border-radius: 6px; } .a9-screen-dimension { position: relative; margin: 0px; width: 340px; height: 540px; border: 1px solid black; background-color: #CED7E5; overflow: hidden; } </style> <body> <div id="myScreen" class="a9-screen-dimension" tabindex="0"> <div id="promptId0" class="campo-prompt" draggable="true" style="top:68.625px; left:65.84375px;" tabindex="0">Prompt</div><button id="botaoId1" class="campo-botao" draggable="true" style="top:235.625px; left:77.84375px;" tabindex="0" myselection="salvar">Salvar</div></div> </div> </form> <script> function send(toast) { var cod = formulario.cod.value; Android.sendDataToAndroid(cod); } </script> </body> </html>` if len(re.FindStringIndex(str)) > 0 { fmt.Println(re.FindString(str),"found at index",re.FindStringIndex(str)[0]) } }

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 Golang, please visit: https://golang.org/pkg/regexp/