Regular Expressions 101

Save & Share

  • Regex Version: ver. 2
  • 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

/
/
gmi

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 = "^(?=Nokia.*|Oppo.*|Huawei.*|Xiaomi.*).*"; final String string = "iPhone 7 Plus\n" + "iPad Pro 12.9 2015 iOS15.5 beta 4\n" + "Xiaomi Pocophone F1\n" + "Google Pixel 4 XL\n" + "Samsung Galaxy S22 Plus 5G\n" + "Samsung Galaxy Tab A 9.7\n" + "iPhone 11 Pro iOS15.5 beta4\n" + "iPad Pro 10.5 2017\n" + "Samsung Tab E\n" + "Huawei Y9 2019\n" + "iPad 9.7 2018 iOS15.5 beta4\n" + "Samsung Galaxy Tab S8\n" + "iPhone X \n" + "iPhone 11 Pro Max\n" + "Samsung Tab E 9.6\n" + "Samsung Galaxy S8\n" + "Google Pixel 2\n" + "Samsung Galaxy A10\n" + "Samsung Galaxy A51\n" + "LG Q6\n" + "Huawei P9\n" + "iPad Pro 10.5 2017\n" + "Samsung Galaxy A71 5G\n" + "ZTE Axon 7\n" + "iPad mini 3\n" + "iPhone X\n" + "Samsung Galaxy S20 Ultra\n" + "2iPad Pro 12.9 2021\n" + "LG Q Stylo 4\n" + "Moto Z2 Force\n" + "Samsung Galaxy S21 5G\n" + "iPhone 13\n" + "ZTE Axon 7\n" + "Google Pixel 3a XL\n" + "Samsung Galaxy S6 Edge\n" + "iPhone 11\n" + "iPhone 12 mini\n" + "Sony Xperia XZ\n" + "iPad Pro 12.9 2018\n" + "OnePlus 9 Pro\n" + "Samsung Galaxy S8+\n" + "iPad Pro 11 2018\n" + "iPhone 12\n" + "Samsung Galaxy Note 20 Ultra 5G\n" + "LG V30\n" + "Motorola Moto Z\n" + "OnePlus 5T\n" + "Samsung Galaxy S6 Edge\n" + "Samsung Galaxy M20\n" + "OnePlus 9\n" + "iPhone X iOS15.5 beta4\n" + "Samsung Galaxy A02\n" + "iPad Air 2\n" + "Samsung Galaxy S7\n" + "iPhone 8\n" + "Mason D450B\n" + "iPhone 6\n" + "iPhone XS Max\n" + "iPad mini 4\n" + "Samsung Galaxy S22 5G\n" + "iPad Air 3 (2019)\n" + "Google Pixel 4a\n" + "Samsung Galaxy Tab A 10.1 2016\n" + "Samsung Galaxy Note 8\n" + "iPhone SE 2020\n" + "Asus Google Nexus 7 (2013)\n" + "iPhone 11 Pro\n" + "Samsung Galaxy A30\n" + "Google Pixel 4 XL\n" + "iPhone 12 Pro\n" + "iPad Mini 2019\n" + "Vivo X21\n" + "iPad 9.7 2018\n" + "iPad 10.2 2020\n" + "Samsung Galaxy S10e\n" + "iPhone SE\n" + "iPad Air 2\n" + "iPad Air 2022 5th Gen\n" + "iPad Air 2020\n" + "Samsung Galaxy S10\n" + "Samsung Galaxy S21 Plus 5G\n" + "OnePlus Nord N200 5G\n" + "iPad Air 2\n" + "Google Pixel 4 XL\n" + "Samsung Galaxy A9 2018\n" + "Samsung Galaxy A51\n" + "Motorola Moto G Stylus 2021\n" + "Google Pixel 4\n" + "Huawei Honor 9\n" + "Samsung Galaxy S6 Edge+\n" + "Samsung Galaxy A20e\n" + "iPad Pro 11 2021\n" + "iPhone SE 2020\n" + "Mason G450A1\n" + "Xiaomi Mi MIX 2\n" + "Samsung Galaxy Tab A7\n" + "iPhone 6 Plus\n" + "iPad Pro 11 2020\n" + "iPad 10.2 2020\n" + "Google Pixel 5a\n" + "Google Pixel 6 Pro\n" + "Samsung Galaxy A21\n" + "Samsung Galaxy Note 20 5G\n" + "iPad Pro 10.5 2017\n" + "HTC One A9\n" + "Huawei Honor 8\n" + "Samsung Galaxy S6 Edge+\n" + "Google Pixel 2 XL\n" + "iPad 10.2\n" + "iPhone XR\n" + "Samsung Galaxy S8+\n" + "Nokia 7.1\n" + "Samsung Galaxy S20 Plus\n" + "Samsung Galaxy A3 2017\n" + "LG K10\n" + "HTC Desire 12\n" + "iPad Pro 12.9 2015\n" + "Samsung Galaxy A5 (2017)\n" + "Huawei P30 Lite\n" + "LG V40\n" + "OnePlus 6T\n" + "iPad Pro\n" + "iPad Air 2\n" + "Google Pixel 3 XL\n" + "iPhone 7\n" + "Google Pixel C\n" + "iPad Mini 2021 6th Gen\n" + "Motorola Moto G5 Plus\n" + "iPad Air 2020\n" + "Samsung Galaxy S20\n" + "iPhone 8 Plus\n" + "Samsung Galaxy A31\n" + "Google Pixel 3\n" + "Sony Z5 Premium\n" + "Sony Xperia Z1\n" + "LG Phoenix 2\n" + "iPhone 11\n" + "iPad 9.7 2017 5th Gen\n" + "iPhone XS\n" + "Samsung Galaxy Tab S6\n" + "Samsung Galaxy J7 2016\n" + "Honeywell CK65\n" + "Samsung Galaxy A5\n" + "HTC 10\n" + "iPad Pro 12.9 2020\n" + "Sony Xperia 10\n" + "Google Pixel 3a XL\n" + "iPhone 6S\n" + "Sony Xperia 5\n" + "iPad Air\n" + "Samsung Galaxy A6 2018\n" + "Samsung Galaxy S9\n" + "Samsung Galaxy S5\n" + "Google Pixel XL\n" + "LG G7 Thinq\n" + "Motorola Moto X Play\n" + "Huawei P30 Lite\n" + "iPhone XS Max\n" + "Samsung Galaxy S10+\n" + "Samsung Galaxy Tab S2\n" + "Samsung Galaxy Tab S8 Plus\n" + "iPhone SE 2020\n" + "LG K30\n" + "LG V30+ Thinq\n" + "iPhone_11_Pro\n" + "Samsung Galaxy A80\n" + "OnePlus 3T\n" + "iPhone 5S\n" + "Samsung Galaxy S22 Ultra 5G\n" + "iPhone 8\n" + "iPhone 7 Plus\n" + "iPod Touch 6\n" + "iPad Pro 9.7\n" + "Huawei Mate 9\n" + "Samsung Galaxy Note 20 Ultra 5G\n" + "OnePlus 3\n" + "iPhone 12 mini iOS15.5 beta4\n" + "OnePlus 7 Pro\n" + "Nokia 8\n" + "Samsung Galaxy Z Fold 2 5G\n" + "OnePlus 6\n" + "Samsung Galaxy Tab S5e\n" + "Samsung Galaxy A50\n" + "iPhone X\n" + "iPhone 8\n" + "Samsung Galaxy S21 Ultra 5G\n" + "LG Stylo 6\n" + "Google Pixel 3\n" + "iPhone 6\n" + "iPhone X\n" + "iPhone 13 Pro Max\n" + "iPhone 12 Pro Max\n" + "Sony Xperia Z3 Compact\n" + "Xiaomi MI 6\n" + "LG V20\n" + "iPad Air 2 iOS15.5 beta4\n" + "Google Pixel 5\n" + "Motorola Moto G Power (2021)\n" + "Lenovo Tab 3 Pro\n" + "Motorola Moto G6\n" + "Essential PH-1\n" + "Samsung Galaxy Note 9\n" + "iPhone 6\n" + "iPad mini 4\n" + "Samsung Galaxy S10e\n" + "Samsung Galaxy A8 2018\n" + "Samsung Galaxy A10e\n" + "iPad Pro 11 2018\n" + "iPad Pro 12.9 2015\n" + "Samsung Galaxy Note 5\n" + "Samsung Galaxy Fold 5G\n" + "iPhone XR\n" + "iPhone XS\n" + "Samsung Galaxy Note 4\n" + "Samsung Galaxy S21 5G\n" + "Samsung Galaxy Tab S7\n" + "Motorola One Vision\n" + "Samsung Galaxy Note 10+\n" + "iPhone XR\n" + "LG G8 ThinQ\n" + "Amazon Kindle Fire HD 8\n" + "iPhone 7\n" + "iPad Pro 12.9 2017\n" + "Motorola Moto G7\n" + "Samsung Galaxy Tab S7 Plus\n" + "iPhone 8\n" + "Samsung Galaxy Z Flip\n" + "iPhone 6S\n" + "LG G6\n" + "Samsung Galaxy S7 Edge\n" + "Samsung Galaxy Tab S8 Ultra\n" + "Google Pixel 6 Pro\n" + "Huawei P10\n" + "Huawei P20\n" + "Samsung Galaxy Note 5\n" + "OnePlus 8 Pro\n" + "Amazon Kindle Fire HD 8 (2020)\n" + "Samsung Galaxy S6\n" + "iPad Pro 12.9 2017\n" + "Xiaomi Redmi Note 9\n" + "Motorola Nexus 6\n" + "Motorola Moto G6 Plus\n" + "Vivo V9\n" + "iPad Pro 12.9\n" + "iPhone X \n" + "iPhone 8 Plus\n" + "iPad Air 3 (2019)\n" + "Samsung Galaxy Tab S4\n" + "iPhone 8\n" + "Samsung Galaxy S10\n" + "Motorola Moto X (2nd gen)\n" + "iPhone 12 Pro Max\n" + "Amazon Kindle Fire HD 10 (2019)\n" + "OnePlus 7T\n" + "iPad Pro 12.9 2015\n" + "OnePlus 8\n" + "iPad mini 4\n" + "iPhone 13 mini\n" + "iPad Air 2\n" + "iPhone 13 Pro\n" + "Samsung Galaxy Xcover 3\n" + "Xiaomi Redmi 9\n" + "iPhone 7\n" + "Sony Xperia XZ1\n" + "iPhone XS\n" + "ZTE Blade V7 lite\n" + "Huawei P30 Pro\n" + "iPad 10.2 2021 9th Gen\n" + "Samsung Galaxy Tab S4 10.5\n" + "iPhone SE 2020\n" + "iPod Touch 7\n" + "iPad Air 2\n" + "Google Pixel 6\n" + "Amazon Kindle Fire HD 7\n" + "iPhone 7 Plus\n" + "iPhone SE 2022\n" + "Huawei P20 Pro\n" + "Motorola Moto Z Play\n" + "Huawei Mate 10 Pro\n" + "iPhone 6S Plus\n" + "OnePlus 5\n" + "Google Pixel 3 XL\n" + "Google Pixel 3a\n" + "iPhone 12\n" + "Samsung Galaxy Note 10\n" + "Samsung Galaxy Tab S3"; final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE | Pattern.CASE_INSENSITIVE); 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