html.js 867 B

12345678910111213141516171819202122232425
  1. 'use strict';
  2. var attributeName = '[a-zA-Z_:][a-zA-Z0-9:._-]*';
  3. var unquoted = '[^"\'=<>`\\u0000-\\u0020]+';
  4. var singleQuoted = '\'[^\']*\'';
  5. var doubleQuoted = '"[^"]*"';
  6. var attributeValue = '(?:' + unquoted + '|' + singleQuoted + '|' + doubleQuoted + ')';
  7. var attribute = '(?:\\s+' + attributeName + '(?:\\s*=\\s*' + attributeValue + ')?)';
  8. var openTag = '<[A-Za-z][A-Za-z0-9\\-]*' + attribute + '*\\s*\\/?>';
  9. var closeTag = '<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>';
  10. var comment = '<!---->|<!--(?:-?[^>-])(?:-?[^-])*-->';
  11. var processing = '<[?].*?[?]>';
  12. var declaration = '<![A-Za-z]+\\s+[^>]*>';
  13. var cdata = '<!\\[CDATA\\[[\\s\\S]*?\\]\\]>';
  14. exports.openCloseTag = new RegExp('^(?:' + openTag + '|' + closeTag + ')');
  15. exports.tag = new RegExp('^(?:' +
  16. openTag + '|' +
  17. closeTag + '|' +
  18. comment + '|' +
  19. processing + '|' +
  20. declaration + '|' +
  21. cdata +
  22. ')');