Type:
Module
Constants:
Special
:
',=+<>#;'
HexChar
:
/[0-9a-fA-F]/
HexPair
:
/#{HexChar}#{HexChar}/
HexString
:
/#{HexPair}+/
Pair
:
/\\(?:[#{Special}]|\\|"|#{HexPair})/
StringChar
:
/[^#{Special}\\"]/
QuoteChar
:
/[^\\"]/
AttributeType
:
/[a-zA-Z][0-9a-zA-Z]*|[0-9]+(?:\.[0-9]+)*/
AttributeValue
:
/
(?!["#])((?:#{StringChar}|#{Pair})*)|
\#(#{HexString})|
"((?:#{QuoteChar}|#{Pair})*)"
/x
TypeAndValue
:
/\A(#{AttributeType})=#{AttributeValue}/