Regular Expressions 101

Save & Share

Flavor

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

Function

  • Match
  • Substitution
  • List
  • Unit Tests
/
"""(?:(?!""").)*(?:"{1,2}(?!"""))?"""
/
g
"""
matches the characters """ literally (case sensitive)
Non-capturing group
(?:(?!""").)*
* matches the previous token between zero and unlimited times, as many times as possible, giving back as needed (greedy)
Negative Lookahead
(?!""")
Assert that the Regex below does not match
"""
matches the characters """ literally (case sensitive)
. matches any character (except for line terminators)
Non-capturing group
(?:"{1,2}(?!"""))?
? matches the previous token between zero and one times, as many times as possible, giving back as needed (greedy)
"
matches the character " with index 3410 (2216 or 428) literally (case sensitive)
Negative Lookahead
(?!""")
Assert that the Regex below does not match
"""
matches the characters """ literally (case sensitive)
"""
matches the characters """ literally (case sensitive)
Global pattern flags
g modifier: global. All matches (don't return after first match)
Your regular expression does not match the subject string.Try launching the debugger to find out why.

Regular Expression
No Match

/
/
g

Test String