12345678910111213141516171819202122232425262728293031323334 |
- 'use strict'
- var attributeName = '[a-zA-Z_:][a-zA-Z0-9:._-]*'
- var unquoted = '[^"\'=<>`\\u0000-\\u0020]+'
- var singleQuoted = "'[^']*'"
- var doubleQuoted = '"[^"]*"'
- var attributeValue =
- '(?:' + unquoted + '|' + singleQuoted + '|' + doubleQuoted + ')'
- var attribute =
- '(?:\\s+' + attributeName + '(?:\\s*=\\s*' + attributeValue + ')?)'
- var openTag = '<[A-Za-z][A-Za-z0-9\\-]*' + attribute + '*\\s*\\/?>'
- var closeTag = '<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>'
- var comment = '<!---->|<!--(?:-?[^>-])(?:-?[^-])*-->'
- var processing = '<[?].*?[?]>'
- var declaration = '<![A-Za-z]+\\s+[^>]*>'
- var cdata = '<!\\[CDATA\\[[\\s\\S]*?\\]\\]>'
- exports.openCloseTag = new RegExp('^(?:' + openTag + '|' + closeTag + ')')
- exports.tag = new RegExp(
- '^(?:' +
- openTag +
- '|' +
- closeTag +
- '|' +
- comment +
- '|' +
- processing +
- '|' +
- declaration +
- '|' +
- cdata +
- ')'
- )
|