/^([a-z]+-)?(([A-Z][a-z]+)+)(-[a-z][a-zA-Z]+)?(--[a-z][a-zA-Z]+)?|u-([a-z][a-zA-Z]+)|is-([a-z][a-zA-Z]+)$/m
An scss-lint or sasslint regex for SUIT CSS sytax
#+ Match these
Component
Component--modifier
Component-descendent
Component-descendent--modifier
ComponentName
ComponentName--modifierName
ComponentName-descendentName
ComponentName-descendentName--modifierName
namespace-ComponentName
namespace-ComponentName--modifierName
namespace-ComponentName-descendentName
namespace-ComponentName-descendentName--modifierName
u-utilityName
u-sm-utilityName
u-md-utilityName
u-lg-utilityName
is-stateOfComponent
#- Don't match these
component
component--modifier
component-descendent
component-descendent--modifier
component-name
component-name--modifier-name
component-name-descendent-name
component-name-descendent-name--modifier-name
nameSpace-ComponentName
nameSpace-ComponentName--modifierName
nameSpace-ComponentName-descendentName
nameSpace-ComponentName-descendentName--modifierName
utilityName
sm-utility
md-utility
lg-utility
stateOfComponent
isStateOfComponent