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

// include the latest version of the regex crate in your Cargo.toml extern crate regex; use regex::Regex; fn main() { let regex = Regex::new(r"(?m)(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.in-addr\.arpa").unwrap(); let string = "10.218.215.103.in-addr.arpa 100.169.196.10.in-addr.arpa 100.89.153.37.in-addr.arpa 101.169.196.10.in-addr.arpa 102.169.196.10.in-addr.arpa 102.219.101.185.in-addr.arpa 103.129.21.23.in-addr.arpa 103.160.58.209.in-addr.arpa 103.169.196.10.in-addr.arpa 103.77.49.65.in-addr.arpa 104.169.196.10.in-addr.arpa 104.188.165.185.in-addr.arpa 104.77.49.65.in-addr.arpa 105.169.196.10.in-addr.arpa 105.65.223.92.in-addr.arpa 106.112.118.87.in-addr.arpa 106.113.118.87.in-addr.arpa 106.169.196.10.in-addr.arpa 106.77.49.65.in-addr.arpa 107.169.196.10.in-addr.arpa 108.115.199.173.in-addr.arpa 108.169.196.10.in-addr.arpa 108.230.165.46.in-addr.arpa 108.40.239.85.in-addr.arpa 108.77.49.65.in-addr.arpa 109.169.196.10.in-addr.arpa 109.77.49.65.in-addr.arpa 11.148.248.109.in-addr.arpa 11.67.31.96.in-addr.arpa 110.169.196.10.in-addr.arpa 110.77.49.65.in-addr.arpa 110.90.31.96.in-addr.arpa 111.111.43.89.in-addr.arpa 111.169.196.10.in-addr.arpa 111.189.124.193.in-addr.arpa 112.16.254.51.in-addr.arpa 112.169.196.10.in-addr.arpa 112.200.108.193.in-addr.arpa 112.21.144.195.in-addr.arpa 113.169.196.10.in-addr.arpa 113.251.5.185.in-addr.arpa 114.122.76.45.in-addr.arpa 114.169.196.10.in-addr.arpa 114.201.105.172.in-addr.arpa 114.227.71.194.in-addr.arpa 115.106.136.83.in-addr.arpa 115.169.196.10.in-addr.arpa 115.70.188.5.in-addr.arpa 116.169.196.10.in-addr.arpa 116.182.34.5.in-addr.arpa 117.169.196.10.in-addr.arpa 118.169.196.10.in-addr.arpa 119.169.196.10.in-addr.arpa 12.67.31.96.in-addr.arpa 12.70.73.77.in-addr.arpa 120.169.196.10.in-addr.arpa 120.3.67.185.in-addr.arpa 121.169.196.10.in-addr.arpa 122.111.43.89.in-addr.arpa 122.134.19.212.in-addr.arpa 122.169.196.10.in-addr.arpa 123.1.114.176.in-addr.arpa 123.11.162.139.in-addr.arpa 123.115.199.173.in-addr.arpa 123.157.76.45.in-addr.arpa 123.169.196.10.in-addr.arpa 123.203.135.147.in-addr.arpa 123.47.72.184.in-addr.arpa 124.169.196.10.in-addr.arpa 125.165.251.162.in-addr.arpa 125.169.196.10.in-addr.arpa 125.5.188.5.in-addr.arpa 126.165.251.162.in-addr.arpa 126.169.196.10.in-addr.arpa 13.45.12.185.in-addr.arpa 13.67.31.96.in-addr.arpa 131.228.13.103.in-addr.arpa 132.178.91.51.in-addr.arpa 132.56.217.144.in-addr.arpa 132.65.226.185.in-addr.arpa 134.155.199.82.in-addr.arpa 134.172.174.185.in-addr.arpa 134.239.142.185.in-addr.arpa 135.247.123.195.in-addr.arpa 135.51.25.185.in-addr.arpa 135.96.129.45.in-addr.arpa 136.219.158.94.in-addr.arpa 138.97.26.185.in-addr.arpa 14.168.188.5.in-addr.arpa 14.4.28.139.in-addr.arpa 14.8.162.185.in-addr.arpa 140.231.68.188.in-addr.arpa 140.245.133.45.in-addr.arpa 141.0.67.185.in-addr.arpa 142.0.67.185.in-addr.arpa 143.227.71.194.in-addr.arpa 143.251.5.185.in-addr.arpa 144.219.101.185.in-addr.arpa 144.227.172.178.in-addr.arpa 144.56.217.144.in-addr.arpa 145.206.170.217.in-addr.arpa 145.58.90.45.in-addr.arpa 145.69.49.185.in-addr.arpa 147.252.227.103.in-addr.arpa 148.119.135.194.in-addr.arpa 149.193.160.23.in-addr.arpa 15.205.170.217.in-addr.arpa 150.126.118.87.in-addr.arpa 150.127.118.87.in-addr.arpa 150.36.188.5.in-addr.arpa 152.10.162.185.in-addr.arpa 152.44.114.167.in-addr.arpa 152.93.188.5.in-addr.arpa 152.93.223.92.in-addr.arpa 153.75.253.185.in-addr.arpa 154.248.5.185.in-addr.arpa 154.93.223.92.in-addr.arpa 155.111.50.74.in-addr.arpa 155.158.155.216.in-addr.arpa 155.93.223.92.in-addr.arpa 156.111.50.74.in-addr.arpa 156.158.155.216.in-addr.arpa 159.213.123.195.in-addr.arpa 159.40.239.85.in-addr.arpa 16.159.175.185.in-addr.arpa 16.207.231.185.in-addr.arpa 161.219.185.146.in-addr.arpa 161.220.176.185.in-addr.arpa 162.219.185.146.in-addr.arpa 163.28.231.67.in-addr.arpa 164.126.196.5.in-addr.arpa 165.131.160.108.in-addr.arpa 166.126.196.5.in-addr.arpa 166.149.119.188.in-addr.arpa 166.9.29.185.in-addr.arpa 167.0.255.80.in-addr.arpa 167.187.90.77.in-addr.arpa 167.189.124.193.in-addr.arpa 168.221.123.195.in-addr.arpa 17.156.175.185.in-addr.arpa 17.228.123.195.in-addr.arpa 17.72.85.95.in-addr.arpa 170.230.75.77.in-addr.arpa 171.0.255.80.in-addr.arpa 172.149.38.92.in-addr.arpa 173.68.49.185.in-addr.arpa 174.216.15.103.in-addr.arpa 174.28.231.67.in-addr.arpa 175.68.73.77.in-addr.arpa 177.105.120.77.in-addr.arpa 177.68.49.185.in-addr.arpa 178.105.120.77.in-addr.arpa 178.129.235.91.in-addr.arpa 18.156.175.185.in-addr.arpa 18.166.141.79.in-addr.arpa 18.193.160.23.in-addr.arpa 181.207.231.185.in-addr.arpa 181.87.143.79.in-addr.arpa 183.119.135.194.in-addr.arpa 185.47.163.185.in-addr.arpa 187.216.15.103.in-addr.arpa 187.89.120.146.in-addr.arpa 188.10.162.185.in-addr.arpa 189.196.67.194.in-addr.arpa 189.238.254.51.in-addr.arpa 190.196.67.194.in-addr.arpa 193.3.67.185.in-addr.arpa 194.21.144.195.in-addr.arpa 194.250.5.185.in-addr.arpa 194.8.162.185.in-addr.arpa 196.193.44.89.in-addr.arpa 197.196.67.194.in-addr.arpa 197.208.107.172.in-addr.arpa 198.53.196.146.in-addr.arpa 199.89.117.185.in-addr.arpa 20.1.187.5.in-addr.arpa 201.117.195.194.in-addr.arpa 203.170.119.88.in-addr.arpa 203.176.43.179.in-addr.arpa 203.229.67.45.in-addr.arpa 203.245.158.94.in-addr.arpa 204.185.238.23.in-addr.arpa 204.55.121.87.in-addr.arpa 205.198.172.69.in-addr.arpa 206.191.32.45.in-addr.arpa 206.198.172.69.in-addr.arpa 207.208.254.103.in-addr.arpa 207.72.238.185.in-addr.arpa 209.120.17.185.in-addr.arpa 209.50.87.185.in-addr.arpa 21.144.248.109.in-addr.arpa 21.159.175.185.in-addr.arpa 211.0.220.37.in-addr.arpa 214.0.188.5.in-addr.arpa 214.0.220.37.in-addr.arpa 216.0.188.5.in-addr.arpa 216.196.152.5.in-addr.arpa 217.72.238.185.in-addr.arpa 218.254.170.45.in-addr.arpa 220.159.74.137.in-addr.arpa 220.193.83.45.in-addr.arpa 220.57.90.45.in-addr.arpa 221.39.142.95.in-addr.arpa 222.97.246.46.in-addr.arpa 223.79.172.31.in-addr.arpa 225.100.91.77.in-addr.arpa 229.145.43.179.in-addr.arpa 23.149.38.92.in-addr.arpa 23.177.103.190.in-addr.arpa 23.193.44.89.in-addr.arpa 23.210.244.185.in-addr.arpa 23.36.115.45.in-addr.arpa 230.134.19.212.in-addr.arpa 232.100.91.77.in-addr.arpa 232.145.43.179.in-addr.arpa 232.96.107.172.in-addr.arpa 234.207.107.172.in-addr.arpa 235.252.42.188.in-addr.arpa 235.96.107.172.in-addr.arpa 236.253.196.131.in-addr.arpa 239.249.71.192.in-addr.arpa 239.89.153.37.in-addr.arpa 24.133.34.194.in-addr.arpa 242.61.239.85.in-addr.arpa 242.79.172.31.in-addr.arpa 243.135.217.95.in-addr.arpa 243.61.239.85.in-addr.arpa 244.61.239.85.in-addr.arpa 246.36.188.5.in-addr.arpa 247.96.26.185.in-addr.arpa 248.68.73.77.in-addr.arpa 249.5.187.5.in-addr.arpa 25.146.43.179.in-addr.arpa 25.149.38.92.in-addr.arpa 25.239.123.195.in-addr.arpa 250.88.117.185.in-addr.arpa 251.130.223.176.in-addr.arpa 251.145.43.179.in-addr.arpa 251.70.9.194.in-addr.arpa 251.99.151.88.in-addr.arpa 252.36.188.5.in-addr.arpa 255.106.136.83.in-addr.arpa 26.133.34.194.in-addr.arpa 26.149.38.92.in-addr.arpa 26.156.175.185.in-addr.arpa 26.213.123.195.in-addr.arpa 28.177.103.190.in-addr.arpa 29.148.248.109.in-addr.arpa 29.76.20.65.in-addr.arpa 3.67.31.96.in-addr.arpa 30.170.141.79.in-addr.arpa 30.223.12.217.in-addr.arpa 31.218.185.146.in-addr.arpa 31.227.71.194.in-addr.arpa 31.52.138.78.in-addr.arpa 32.102.176.123.in-addr.arpa 32.106.136.83.in-addr.arpa 32.249.71.192.in-addr.arpa 34.223.42.188.in-addr.arpa 34.40.142.95.in-addr.arpa 35.218.215.103.in-addr.arpa 36.147.199.91.in-addr.arpa 36.17.225.185.in-addr.arpa 36.249.71.192.in-addr.arpa 36.70.73.77.in-addr.arpa 37.102.133.31.in-addr.arpa 37.15.131.94.in-addr.arpa 37.53.123.185.in-addr.arpa 38.97.246.46.in-addr.arpa 39.42.179.80.in-addr.arpa 4.174.150.88.in-addr.arpa 4.76.85.95.in-addr.arpa 40.36.105.172.in-addr.arpa 40.96.129.45.in-addr.arpa 41.53.154.185.in-addr.arpa 42.46.75.185.in-addr.arpa 43.18.193.91.in-addr.arpa 43.206.58.185.in-addr.arpa 44.108.188.5.in-addr.arpa 44.61.199.212.in-addr.arpa 46.168.188.5.in-addr.arpa 46.195.230.5.in-addr.arpa 46.77.255.27.in-addr.arpa 47.46.75.185.in-addr.arpa 47.69.235.168.in-addr.arpa 47.77.255.27.in-addr.arpa 47.98.191.107.in-addr.arpa 48.108.188.5.in-addr.arpa 48.187.93.80.in-addr.arpa 48.245.123.195.in-addr.arpa 48.77.255.27.in-addr.arpa 49.77.255.27.in-addr.arpa 5.105.7.200.in-addr.arpa 5.221.176.185.in-addr.arpa 5.246.252.213.in-addr.arpa 50.112.118.87.in-addr.arpa 50.113.118.87.in-addr.arpa 50.3.105.185.in-addr.arpa 50.66.97.176.in-addr.arpa 51.190.188.5.in-addr.arpa 51.254.227.103.in-addr.arpa 51.3.105.185.in-addr.arpa 51.73.172.31.in-addr.arpa 51.76.85.95.in-addr.arpa 51.82.112.185.in-addr.arpa 52.82.112.185.in-addr.arpa 54.171.38.92.in-addr.arpa 54.200.108.193.in-addr.arpa 54.69.73.77.in-addr.arpa 57.231.127.188.in-addr.arpa 58.171.38.92.in-addr.arpa 59.20.161.107.in-addr.arpa 6.93.107.172.in-addr.arpa 60.116.172.103.in-addr.arpa 61.116.172.103.in-addr.arpa 61.15.39.193.in-addr.arpa 61.48.247.37.in-addr.arpa 62.231.68.188.in-addr.arpa 65.227.71.194.in-addr.arpa 65.241.126.176.in-addr.arpa 65.62.239.85.in-addr.arpa 66.168.188.5.in-addr.arpa 66.227.123.195.in-addr.arpa 66.62.239.85.in-addr.arpa 67.168.188.5.in-addr.arpa 69.159.175.185.in-addr.arpa 69.44.149.180.in-addr.arpa 7.51.25.185.in-addr.arpa 70.89.117.185.in-addr.arpa 71.23.21.211.in-addr.arpa 72.23.21.211.in-addr.arpa 74.108.150.45.in-addr.arpa 74.241.126.176.in-addr.arpa 75.68.73.77.in-addr.arpa 77.79.223.92.in-addr.arpa 78.115.199.173.in-addr.arpa 78.213.13.31.in-addr.arpa 79.110.242.103.in-addr.arpa 79.35.101.185.in-addr.arpa 8.105.223.92.in-addr.arpa 8.139.142.94.in-addr.arpa 80.70.49.185.in-addr.arpa 82.151.7.50.in-addr.arpa 82.159.31.185.in-addr.arpa 82.19.225.185.in-addr.arpa 83.210.73.178.in-addr.arpa 83.239.142.185.in-addr.arpa 85.149.38.92.in-addr.arpa 86.167.28.149.in-addr.arpa 86.22.161.107.in-addr.arpa 88.213.188.5.in-addr.arpa 88.66.97.176.in-addr.arpa 89.213.188.5.in-addr.arpa 89.53.242.94.in-addr.arpa 9.105.223.92.in-addr.arpa 9.179.104.172.in-addr.arpa 90.17.225.185.in-addr.arpa 90.64.70.193.in-addr.arpa 91.193.160.23.in-addr.arpa 91.221.176.185.in-addr.arpa 92.157.154.149.in-addr.arpa 93.227.71.194.in-addr.arpa 94.139.38.92.in-addr.arpa 94.153.221.185.in-addr.arpa 95.189.124.193.in-addr.arpa 95.213.13.31.in-addr.arpa 95.249.71.192.in-addr.arpa 97.169.196.10.in-addr.arpa 98.169.196.10.in-addr.arpa 98.174.181.107.in-addr.arpa 98.200.108.193.in-addr.arpa 99.169.196.10.in-addr.arpa 99.4.187.5.in-addr.arpa black.host-112.21.144.195.in-addr.arpa black.host-134.239.142.185.in-addr.arpa black.host-194.21.144.195.in-addr.arpa black.host-83.239.142.185.in-addr.arpa "; // result will be an iterator over tuples containing the start and end indices for each match in the string let result = regex.captures_iter(string); for mat in result { println!("{:?}", mat); } }

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 Rust, please visit: https://docs.rs/regex/latest/regex/