Regular Expressions 101

Save & Share

  • Save Regex
    ctrl+s
  • Update Regex
    ctrl+⇧+s

Flavor

  • PCRE2 (PHP >=7.3)
  • PCRE (PHP <7.3)
  • ECMAScript (JavaScript)
  • Python
  • Golang
  • Java 8

Function

  • Match
  • Substitution
  • List
  • Unit Tests
/
iPhone (11|12)( Pro| mini)?(?!Max)
/
gmi
iPhone
matches the characters iPhone literally (case insensitive)
1st Capturing Group
(11|12)
1st Alternative
11
11
matches the characters 11 literally (case insensitive)
2nd Alternative
12
12
matches the characters 12 literally (case insensitive)
2nd Capturing Group
( Pro| mini)?
? matches the previous token between zero and one times, as many times as possible, giving back as needed (greedy)
1st Alternative
Pro
Pro
matches the characters Pro literally (case insensitive)
2nd Alternative
mini
mini
matches the characters mini literally (case insensitive)
Negative Lookahead
(?!Max)
Assert that the Regex below does not match
Max
matches the characters Max literally (case insensitive)
Global pattern flags
g modifier: global. All matches (don't return after first match)
m modifier: multi line. Causes ^ and $ to match the begin/end of each line (not only begin/end of string)
i modifier: insensitive. Case insensitive match (ignores case of [a-zA-Z])
Your regular expression does not match the subject string.Try launching the debugger to find out why.

Regular Expression
No Match

/
/
gmi

Test String