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

/
/
g

Test String

Code Generator

Generated Code

#include <StringConstants.au3> ; to declare the Constants of StringRegExp #include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate Local $sRegex = "((?:SFR)\ ?\d+|(?:[oO][rR])\ ?\d+|(?:[iI][pP][hH][oO][nN][eE])\ ?\d+|[\dA-Z]{12}|\d{2,})" Local $sString = "iOS device" & @CRLF & _ "iOS device" & @CRLF & _ "iOS device" & @CRLF & _ "iOS device" & @CRLF & _ "iOS device" & @CRLF & _ "iOS device" & @CRLF & _ "iOS device" & @CRLF & _ "iOS device" & @CRLF & _ "1" & @CRLF & _ "347" & @CRLF & _ "4804" & @CRLF & _ "SFR113" & @CRLF & _ "189" & @CRLF & _ "4429" & @CRLF & _ "4657" & @CRLF & _ "4666" & @CRLF & _ "4790" & @CRLF & _ "8" & @CRLF & _ "Or4177" & @CRLF & _ "Or4195" & @CRLF & _ "Sfr5" & @CRLF & _ "OR4314" & @CRLF & _ "01068" & @CRLF & _ "1140" & @CRLF & _ "21" & @CRLF & _ "228" & @CRLF & _ "229" & @CRLF & _ "253" & @CRLF & _ "40" & @CRLF & _ "421" & @CRLF & _ "4462" & @CRLF & _ "4509" & @CRLF & _ "4650" & @CRLF & _ "4670" & @CRLF & _ "4696" & @CRLF & _ "4705" & @CRLF & _ "4747" & @CRLF & _ "4748" & @CRLF & _ "4751" & @CRLF & _ "4754" & @CRLF & _ "4785" & @CRLF & _ "4818" & @CRLF & _ "55" & @CRLF & _ "880" & @CRLF & _ "93" & @CRLF & _ "OR 1613" & @CRLF & _ "OR4329" & @CRLF & _ "OR4437" & @CRLF & _ "OR4440" & @CRLF & _ "Or4180" & @CRLF & _ "Or4183" & @CRLF & _ "Or4186" & @CRLF & _ "Or4187" & @CRLF & _ "Or4188" & @CRLF & _ "Or4190" & @CRLF & _ "Or4191" & @CRLF & _ "Or4199" & @CRLF & _ "Or4204" & @CRLF & _ "Or4208" & @CRLF & _ "Or4311" & @CRLF & _ "Or716" & @CRLF & _ "Or888" & @CRLF & _ "Sfr2-2" & @CRLF & _ "iPhone" & @CRLF & _ "iPhone" & @CRLF & _ "iPhone" & @CRLF & _ "iPhone" & @CRLF & _ "iPhone" & @CRLF & _ "iPhone" & @CRLF & _ "iPhone" & @CRLF & _ "iPhone" & @CRLF & _ "iPhone 264" & @CRLF & _ "iPhone 335" & @CRLF & _ "F4LLKCCRFNDD" & @CRLF & _ "F78LD2SFFFHM" & @CRLF & _ "0707" & @CRLF & _ "1055" & @CRLF & _ "1122" & @CRLF & _ "1138" & @CRLF & _ "1142" & @CRLF & _ "122" & @CRLF & _ "155" & @CRLF & _ "183" & @CRLF & _ "191" & @CRLF & _ "2" & @CRLF & _ "207" & @CRLF & _ "242" & @CRLF & _ "29" & @CRLF & _ "296" & @CRLF & _ "417" & @CRLF & _ "4427" & @CRLF & _ "4431" & @CRLF & _ "4496" & @CRLF & _ "4503" & @CRLF & _ "4507" & @CRLF & _ "4523" & @CRLF & _ "4524" & @CRLF & _ "4525" & @CRLF & _ "4526" & @CRLF & _ "4529" & @CRLF & _ "4532" & @CRLF & _ "4542" & @CRLF & _ "4543" & @CRLF & _ "457" & @CRLF & _ "4645" & @CRLF & _ "4649" & @CRLF & _ "4651" & @CRLF & _ "4653" & @CRLF & _ "4659" & @CRLF & _ "4660" & @CRLF & _ "4661" & @CRLF & _ "4667" & @CRLF & _ "4675" & @CRLF & _ "4680" & @CRLF & _ "4685" & @CRLF & _ "4690" & @CRLF & _ "4700" & @CRLF & _ "4702" & @CRLF & _ "4703" & @CRLF & _ "4706" & @CRLF & _ "4708" & @CRLF & _ "4709" & @CRLF & _ "4712" & @CRLF & _ "4716" & @CRLF & _ "4717" & @CRLF & _ "4718" & @CRLF & _ "4719" & @CRLF & _ "4745" & @CRLF & _ "4750" & @CRLF & _ "4752" & @CRLF & _ "4756" & @CRLF & _ "4757" & @CRLF & _ "4758" & @CRLF & _ "4761" & @CRLF & _ "4772" & @CRLF & _ "4780" & @CRLF & _ "4783" & @CRLF & _ "4784" & @CRLF & _ "4786" & @CRLF & _ "4795" & @CRLF & _ "4806" & @CRLF & _ "4807" & @CRLF & _ "4812" & @CRLF & _ "4814" & @CRLF & _ "4816" & @CRLF & _ "6" & @CRLF & _ "688" & @CRLF & _ "69" & @CRLF & _ "8" & @CRLF & _ "812" & @CRLF & _ "OR 1842" & @CRLF & _ "OR4309" & @CRLF & _ "OR4315" & @CRLF & _ "OR4328" & @CRLF & _ "OR4595" & @CRLF & _ "OR4635" & @CRLF & _ "Or333i" & @CRLF & _ "Or4182" & @CRLF & _ "Or4198" & @CRLF & _ "Or4646" & @CRLF & _ "Sfr vtc" & @CRLF & _ "Sfr3-3" & @CRLF & _ "Unknown-Host" & @CRLF & _ "iPhone" & @CRLF & _ "iPhone" & @CRLF & _ "iPhone 1234" & @CRLF & _ "iPhone 261" & @CRLF & _ "iPhone 307" & @CRLF & _ "iPhone" & @CRLF & _ "1101" & @CRLF & _ "1257" & @CRLF & _ "128" & @CRLF & _ "226" & @CRLF & _ "254" & @CRLF & _ "279" & @CRLF & _ "4292" & @CRLF & _ "4430" & @CRLF & _ "4460" & @CRLF & _ "4463" & @CRLF & _ "4497" & @CRLF & _ "4499" & @CRLF & _ "4519" & @CRLF & _ "4522" & @CRLF & _ "4527" & @CRLF & _ "4533" & @CRLF & _ "4534" & @CRLF & _ "4537" & @CRLF & _ "4539" & @CRLF & _ "4553" & @CRLF & _ "4643" & @CRLF & _ "4647" & @CRLF & _ "4648" & @CRLF & _ "4652" & @CRLF & _ "4655" & @CRLF & _ "4658" & @CRLF & _ "4665" & @CRLF & _ "4671" & @CRLF & _ "4673" & @CRLF & _ "4674" & @CRLF & _ "4675" & @CRLF & _ "4677" & @CRLF & _ "4677" & @CRLF & _ "4683" & @CRLF & _ "4686" & @CRLF & _ "4689" & @CRLF & _ "4699" & @CRLF & _ "4753" & @CRLF & _ "4759" & @CRLF & _ "4763" & @CRLF & _ "4765" & @CRLF & _ "4767" & @CRLF & _ "4768" & @CRLF & _ "4769" & @CRLF & _ "4770" & @CRLF & _ "4773" & @CRLF & _ "4774" & @CRLF & _ "4775" & @CRLF & _ "4776" & @CRLF & _ "4777" & @CRLF & _ "4778" & @CRLF & _ "4779" & @CRLF & _ "4781" & @CRLF & _ "4782" & @CRLF & _ "4785" & @CRLF & _ "4785" & @CRLF & _ "4789" & @CRLF & _ "4791" & @CRLF & _ "4793" & @CRLF & _ "4794" & @CRLF & _ "4794" & @CRLF & _ "4796" & @CRLF & _ "4799" & @CRLF & _ "4801" & @CRLF & _ "4802" & @CRLF & _ "4803" & @CRLF & _ "4805" & @CRLF & _ "4808" & @CRLF & _ "4809" & @CRLF & _ "4810" & @CRLF & _ "4813" & @CRLF & _ "4815" & @CRLF & _ "4817" & @CRLF & _ "4819" & @CRLF & _ "4820" & @CRLF & _ "4821" & @CRLF & _ "7362" & @CRLF & _ "763" & @CRLF & _ "90" & @CRLF & _ "OR3871" & @CRLF & _ "OR3893" & @CRLF & _ "OR4100" & @CRLF & _ "OR4145" & @CRLF & _ "OR4220" & @CRLF & _ "OR4257" & @CRLF & _ "OR4261" & @CRLF & _ "OR4312" & @CRLF & _ "OR4357" & @CRLF & _ "OR4385" & @CRLF & _ "OR4399" & @CRLF & _ "OR4446" & @CRLF & _ "OR4447" & @CRLF & _ "OR4589" & @CRLF & _ "OR4618" & @CRLF & _ "OR4622" & @CRLF & _ "Or 4412" & @CRLF & _ "Or1262" & @CRLF & _ "Or1338" & @CRLF & _ "Or3927" & @CRLF & _ "Or4278" & @CRLF & _ "SFR1239" & @CRLF & _ "iPhone" & @CRLF & _ "iPhone" & @CRLF & _ "iPhone" & @CRLF & _ "iPhone" & @CRLF & _ "iPhone" & @CRLF & _ "iPhone" & @CRLF & _ "iPhone" & @CRLF & _ "iPhone" & @CRLF & _ "iPhone" & @CRLF & _ "iPhone" & @CRLF & _ "iPhone" & @CRLF & _ "iPhone" & @CRLF & _ "iPhone" & @CRLF & _ "iPhone" & @CRLF & _ "iPhone" & @CRLF & _ "iPhone" & @CRLF & _ "iPhone" & @CRLF & _ "iPhone" & @CRLF & _ "iPhone" & @CRLF & _ "iPhone" & @CRLF & _ "iPhone #24" & @CRLF & _ "Or3600" & @CRLF & _ "0000" & @CRLF & _ "1010" & @CRLF & _ "1013" & @CRLF & _ "1102" & @CRLF & _ "1170" & @CRLF & _ "120" & @CRLF & _ "1203" & @CRLF & _ "1220" & @CRLF & _ "1233" & @CRLF & _ "131" & @CRLF & _ "14" & @CRLF & _ "162" & @CRLF & _ "1980" & @CRLF & _ "202" & @CRLF & _ "206" & @CRLF & _ "280" & @CRLF & _ "318" & @CRLF & _ "326" & @CRLF & _ "4465" & @CRLF & _ "4484" & @CRLF & _ "4495" & @CRLF & _ "4498" & @CRLF & _ "4500" & @CRLF & _ "4511" & @CRLF & _ "4531" & @CRLF & _ "4532" & @CRLF & _ "4535" & @CRLF & _ "4538" & @CRLF & _ "4541" & @CRLF & _ "4654" & @CRLF & _ "4687" & @CRLF & _ "4690" & @CRLF & _ "4691" & @CRLF & _ "4698" & @CRLF & _ "473" & @CRLF & _ "4739" & @CRLF & _ "4746" & @CRLF & _ "4755" & @CRLF & _ "4793" & @CRLF & _ "4800" & @CRLF & _ "4811" & @CRLF & _ "578" & @CRLF & _ "833" & @CRLF & _ "834" & @CRLF & _ "859" & @CRLF & _ "OR 1263" & @CRLF & _ "OR 1309" & @CRLF & _ "OR 1358" & @CRLF & _ "OR 1402" & @CRLF & _ "OR 1403" & @CRLF & _ "OR 1424" & @CRLF & _ "OR 1553" & @CRLF & _ "OR1754" & @CRLF & _ "OR1843" & @CRLF & _ "OR1862" & @CRLF & _ "OR2061" Local $aArray = StringRegExp($sString, $sRegex, $STR_REGEXPARRAYGLOBALFULLMATCH) Local $aFullArray[0] For $i = 0 To UBound($aArray) -1 _ArrayConcatenate($aFullArray, $aArray[$i]) Next $aArray = $aFullArray ; Present the entire match result _ArrayDisplay($aArray, "Result")

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 AutoIt, please visit: https://www.autoitscript.com/autoit3/docs/functions/StringRegExp.htm