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

/
/
igm

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 = "(?im)android|avantgo|blackberry|bolt|boost|cricket|docomo|fone|hiptop|mini|mobi|palm|phone|pie|tablet|up\.browser|up\.link|webos|wos" Local $sString = "###Android Mobile User Agents###" & @CRLF & _ "" & @CRLF & _ "Samsung Galaxy S9" & @CRLF & _ "Mozilla/5.0 (Linux; Android 8.0.0; SM-G960F Build/R16NW) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.84 Mobile Safari/537.36" & @CRLF & _ "" & @CRLF & _ "Samsung Galaxy S8" & @CRLF & _ "Mozilla/5.0 (Linux; Android 7.0; SM-G892A Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/60.0.3112.107 Mobile Safari/537.36" & @CRLF & _ "" & @CRLF & _ "Samsung Galaxy S7" & @CRLF & _ "Mozilla/5.0 (Linux; Android 7.0; SM-G930VC Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/58.0.3029.83 Mobile Safari/537.36" & @CRLF & _ "" & @CRLF & _ "Samsung Galaxy S7 Edge" & @CRLF & _ "Mozilla/5.0 (Linux; Android 6.0.1; SM-G935S Build/MMB29K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/55.0.2883.91 Mobile Safari/537.36" & @CRLF & _ "" & @CRLF & _ "Samsung Galaxy S6" & @CRLF & _ "Mozilla/5.0 (Linux; Android 6.0.1; SM-G920V Build/MMB29K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.98 Mobile Safari/537.36" & @CRLF & _ "" & @CRLF & _ "Samsung Galaxy S6 Edge Plus" & @CRLF & _ "Mozilla/5.0 (Linux; Android 5.1.1; SM-G928X Build/LMY47X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.83 Mobile Safari/537.36" & @CRLF & _ "" & @CRLF & _ "Nexus 6P" & @CRLF & _ "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 6P Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.83 Mobile Safari/537.36" & @CRLF & _ "" & @CRLF & _ "Sony Xperia XZ" & @CRLF & _ "Mozilla/5.0 (Linux; Android 7.1.1; G8231 Build/41.2.A.0.219; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/59.0.3071.125 Mobile Safari/537.36" & @CRLF & _ "" & @CRLF & _ "Sony Xperia Z5" & @CRLF & _ "Mozilla/5.0 (Linux; Android 6.0.1; E6653 Build/32.2.A.0.253) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.98 Mobile Safari/537.36" & @CRLF & _ "" & @CRLF & _ "HTC One X10" & @CRLF & _ "Mozilla/5.0 (Linux; Android 6.0; HTC One X10 Build/MRA58K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/61.0.3163.98 Mobile Safari/537.36" & @CRLF & _ "" & @CRLF & _ "HTC One M9" & @CRLF & _ "Mozilla/5.0 (Linux; Android 6.0; HTC One M9 Build/MRA58K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.98 Mobile Safari/537.3" & @CRLF & _ "" & @CRLF & _ "###iPhone User Agents###" & @CRLF & _ "" & @CRLF & _ "Apple iPhone XR(Safari)" & @CRLF & _ "Mozilla/5.0 (iPhone; CPU iPhone OS 12_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0 Mobile/15E148 Safari/604.1" & @CRLF & _ "" & @CRLF & _ "Apple iPhone XS(Chrome)" & @CRLF & _ "Mozilla/5.0 (iPhone; CPU iPhone OS 12_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/69.0.3497.105 Mobile/15E148 Safari/605.1" & @CRLF & _ "" & @CRLF & _ "Apple iPhone XS Max(Firefox)" & @CRLF & _ "Mozilla/5.0 (iPhone; CPU iPhone OS 12_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) FxiOS/13.2b11866 Mobile/16A366 Safari/605.1.15" & @CRLF & _ "" & @CRLF & _ "Apple iPhone X" & @CRLF & _ "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1" & @CRLF & _ "" & @CRLF & _ "Apple iPhone 8" & @CRLF & _ "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1" & @CRLF & _ "" & @CRLF & _ "Apple iPhone 8 Plus" & @CRLF & _ "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A5370a Safari/604.1" & @CRLF & _ "" & @CRLF & _ "Apple iPhone 7" & @CRLF & _ "Mozilla/5.0 (iPhone9,3; U; CPU iPhone OS 10_0_1 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Mobile/14A403 Safari/602.1" & @CRLF & _ "" & @CRLF & _ "Apple iPhone 7 Plus" & @CRLF & _ "Mozilla/5.0 (iPhone9,4; U; CPU iPhone OS 10_0_1 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Mobile/14A403 Safari/602.1" & @CRLF & _ "" & @CRLF & _ "Apple iPhone 6" & @CRLF & _ "Mozilla/5.0 (Apple-iPhone7C2/1202.466; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A543 Safari/419.3" & @CRLF & _ "" & @CRLF & _ "###MS Windows Phone User Agents###" & @CRLF & _ "" & @CRLF & _ "Microsoft Lumia 650" & @CRLF & _ "Mozilla/5.0 (Windows Phone 10.0; Android 6.0.1; Microsoft; RM-1152) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Mobile Safari/537.36 Edge/15.15254" & @CRLF & _ "" & @CRLF & _ "Microsoft Lumia 550" & @CRLF & _ "Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; RM-1127_16056) AppleWebKit/537.36(KHTML, like Gecko) Chrome/42.0.2311.135 Mobile Safari/537.36 Edge/12.10536" & @CRLF & _ "" & @CRLF & _ "Microsoft Lumia 950" & @CRLF & _ "Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 950) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Mobile Safari/537.36 Edge/13.1058" & @CRLF & _ "" & @CRLF & _ "###Tablet User Agents###" & @CRLF & _ "" & @CRLF & _ "Google Pixel C" & @CRLF & _ "Mozilla/5.0 (Linux; Android 7.0; Pixel C Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/52.0.2743.98 Safari/537.36" & @CRLF & _ "" & @CRLF & _ "Sony Xperia Z4 Tablet" & @CRLF & _ "Mozilla/5.0 (Linux; Android 6.0.1; SGP771 Build/32.2.A.0.253; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/52.0.2743.98 Safari/537.36" & @CRLF & _ "" & @CRLF & _ "Nvidia Shield Tablet K1" & @CRLF & _ "Mozilla/5.0 (Linux; Android 6.0.1; SHIELD Tablet K1 Build/MRA58K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/55.0.2883.91 Safari/537.36" & @CRLF & _ "" & @CRLF & _ "Samsung Galaxy Tab S3" & @CRLF & _ "Mozilla/5.0 (Linux; Android 7.0; SM-T827R4 Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.116 Safari/537.36" & @CRLF & _ "" & @CRLF & _ "Samsung Galaxy Tab A" & @CRLF & _ "Mozilla/5.0 (Linux; Android 5.0.2; SAMSUNG SM-T550 Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/3.3 Chrome/38.0.2125.102 Safari/537.36" & @CRLF & _ "" & @CRLF & _ "Amazon Kindle Fire HDX 7" & @CRLF & _ "Mozilla/5.0 (Linux; Android 4.4.3; KFTHWI Build/KTU84M) AppleWebKit/537.36 (KHTML, like Gecko) Silk/47.1.79 like Chrome/47.0.2526.80 Safari/537.36" & @CRLF & _ "" & @CRLF & _ "LG G Pad 7.0" & @CRLF & _ "Mozilla/5.0 (Linux; Android 5.0.2; LG-V410/V41020c Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/34.0.1847.118 Safari/537.36" & @CRLF & _ "" & @CRLF & _ "###Desktop User Agents###" & @CRLF & _ "" & @CRLF & _ "Windows 10-based PC using Edge browser" & @CRLF & _ "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.246" & @CRLF & _ "" & @CRLF & _ "Chrome OS-based laptop using Chrome browser (Chromebook)" & @CRLF & _ "Mozilla/5.0 (X11; CrOS x86_64 8172.45.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.64 Safari/537.36" & @CRLF & _ "" & @CRLF & _ "Mac OS X-based computer using a Safari browser" & @CRLF & _ "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/601.3.9 (KHTML, like Gecko) Version/9.0.2 Safari/601.3.9" & @CRLF & _ "" & @CRLF & _ "Windows 7-based PC using a Chrome browser" & @CRLF & _ "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36" & @CRLF & _ "" & @CRLF & _ "Linux-based PC using a Firefox browser" & @CRLF & _ "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:15.0) Gecko/20100101 Firefox/15.0.1" & @CRLF & _ "" & @CRLF & _ "###Set Top Boxes User Agents###" & @CRLF & _ "" & @CRLF & _ "Chromecast" & @CRLF & _ "Mozilla/5.0 (CrKey armv7l 1.5.16041) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.0 Safari/537.36" & @CRLF & _ "" & @CRLF & _ "Roku Ultra" & @CRLF & _ "Roku4640X/DVP-7.70 (297.70E04154A)" & @CRLF & _ "" & @CRLF & _ "Minix NEO X5" & @CRLF & _ "Mozilla/5.0 (Linux; U; Android 4.2.2; he-il; NEO-X5-116A Build/JDQ39) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30" & @CRLF & _ "" & @CRLF & _ "Amazon 4K Fire TV" & @CRLF & _ "Mozilla/5.0 (Linux; Android 5.1; AFTS Build/LMY47O) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/41.99900.2250.0242 Safari/537.36" & @CRLF & _ "" & @CRLF & _ "Google Nexus Player" & @CRLF & _ "Dalvik/2.1.0 (Linux; U; Android 6.0.1; Nexus Player Build/MMB29T)" & @CRLF & _ "" & @CRLF & _ "Apple TV 5th Gen 4K" & @CRLF & _ "AppleTV6,2/11.1" & @CRLF & _ "" & @CRLF & _ "Apple TV 4th Gen" & @CRLF & _ "AppleTV5,3/9.1.1" & @CRLF & _ "" & @CRLF & _ "###Game Console User Agents###" & @CRLF & _ "" & @CRLF & _ "Nintendo Wii U" & @CRLF & _ "Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.30 (KHTML, like Gecko) NX/3.0.4.2.12 NintendoBrowser/4.3.1.11264.US" & @CRLF & _ "" & @CRLF & _ "Xbox One S" & @CRLF & _ "Mozilla/5.0 (Windows NT 10.0; Win64; x64; XBOX_ONE_ED) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Safari/537.36 Edge/14.14393" & @CRLF & _ "" & @CRLF & _ "Xbox One" & @CRLF & _ "Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Xbox; Xbox One) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Mobile Safari/537.36 Edge/13.10586" & @CRLF & _ "" & @CRLF & _ "Playstation 4" & @CRLF & _ "Mozilla/5.0 (PlayStation 4 3.11) AppleWebKit/537.73 (KHTML, like Gecko)" & @CRLF & _ "" & @CRLF & _ "Playstation Vita" & @CRLF & _ "Mozilla/5.0 (PlayStation Vita 3.61) AppleWebKit/537.73 (KHTML, like Gecko) Silk/3.2" & @CRLF & _ "" & @CRLF & _ "Nintendo 3DS" & @CRLF & _ "Mozilla/5.0 (Nintendo 3DS; U; ; en) Version/1.7412.EU" & @CRLF & _ "" & @CRLF & _ "###Bots And Crawlers User Agents###" & @CRLF & _ "" & @CRLF & _ "Google bot" & @CRLF & _ "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" & @CRLF & _ "" & @CRLF & _ "Bing bot" & @CRLF & _ "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)" & @CRLF & _ "" & @CRLF & _ "Yahoo! bot" & @CRLF & _ "Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)" & @CRLF & _ "" & @CRLF & _ "###E Readers User Agents" & @CRLF & _ "" & @CRLF & _ "Amazon Kindle 4" & @CRLF & _ "Mozilla/5.0 (X11; U; Linux armv7l like Android; en-us) AppleWebKit/531.2+ (KHTML, like Gecko) Version/5.0 Safari/533.2+ Kindle/3.0+" & @CRLF & _ "" & @CRLF & _ "Amazon Kindle 3" & @CRLF & _ "Mozilla/5.0 (Linux; U; en-US) AppleWebKit/528.5+ (KHTML, like Gecko, Safari/528.5+) Version/4.0 Kindle/3.0 (screen 600x800; rotate)" 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