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
"
[\w :,]+(#(?:[a-fA-F0-9]{3}|[a-fA-F0-9]{6}))\b
"
g
Match a single character present in the list below
[\w :,]
+ matches the previous token between one and unlimited times, as many times as possible, giving back as needed (greedy)
\w matches any word character (equivalent to [a-zA-Z0-9_])
:,
matches a single character in the list :, (case sensitive)
1st Capturing Group
(#(?:[a-fA-F0-9]{3}|[a-fA-F0-9]{6}))
# matches the character # with index 3510 (2316 or 438) literally (case sensitive)
Non-capturing group
(?:[a-fA-F0-9]{3}|[a-fA-F0-9]{6})
1st Alternative
[a-fA-F0-9]{3}
Match a single character present in the list below
[a-fA-F0-9]
{3} matches the previous token exactly 3 times
a-f matches a single character in the range between a (index 97) and f (index 102) (case sensitive)
A-F matches a single character in the range between A (index 65) and F (index 70) (case sensitive)
0-9 matches a single character in the range between 0 (index 48) and 9 (index 57) (case sensitive)
2nd Alternative
[a-fA-F0-9]{6}
Match a single character present in the list below
[a-fA-F0-9]
{6} matches the previous token exactly 6 times
a-f matches a single character in the range between a (index 97) and f (index 102) (case sensitive)
A-F matches a single character in the range between A (index 65) and F (index 70) (case sensitive)
0-9 matches a single character in the range between 0 (index 48) and 9 (index 57) (case sensitive)
\b assert position at a word boundary: (^\w|\w$|\W\w|\w\W)
Global pattern flags
g modifier: global. All matches (don't return after first match)
Your regular expression does not match the subject string.

Regular Expression
No Match

r"
"
g

Test String