Regular Expressions 101

Community Patterns

HSL(A) Color Matching

3

Regular Expression
PCRE (PHP <7.3)

/
(?(DEFINE) (?<decimal>(?(int)([.][0-9]+)?|[.][0-9]+)) (?<percentage> (100| (?<int>([0-9]|[1-9][0-9]))? # Have integer be optional (0-100 only) (?P>decimal) # Have decimal required when an integer is not included ) (?<symbol>%) ) (?<hue> (?<int>36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])? # Have integer be optional (?P>decimal) # Have decimal required when an integer is not included (?<symbol>\s*deg\s*)? ) (?<alpha> (?(alpha),\s*( 1[.]0| (?<int>0)? # Have integer be optional (?P>decimal) # Have decimal required when integer is not incldue )\s*) ) (?<hsl>\s*(?P>hue)\s*,\s*(?P>percentage)\s*,\s*(?P>percentage)\s*) ) hsl(?<alpha>a)?\((?P>hsl)(?P>alpha)\)
/
gxJi

Description

This allows for both hsl and hsla color patterns to be matched. hsla(50.5deg, .531%, .9%, 1.0)

  • The hue can be matched without the word deg.
  • Hue is from 0-360
  • Percentage allows for decimals.
  • Percentage is from 0-100%
  • Alpha is from 0.0-1.0
Submitted by anonymous - 5 years ago