regex-empty-conditional-comments1.10.14

Regular expression for matching HTML empty conditional comments

§ Quick Take

import { strict as assert } from "assert";
import { emptyCondCommentRegex } from "regex-empty-conditional-comments";

// empty comment which was meant to target Outlook-only
assert.equal(
  emptyCondCommentRegex().test(`<!--[if !mso]>
<![endif]-->`),
  true
);

// empty comment which was meant to target non-Outlook-only
assert.equal(
  emptyCondCommentRegex().test(`<!--[if !mso]><!-- -->
<!--<![endif]-->`),
  true
);

assert.equal(
  emptyCondCommentRegex().test(`<!--[if !mso]><!-- -->
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<!--<![endif]-->`),
  false
);

assert.equal(
  emptyCondCommentRegex()
    .test(`<!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:AllowPNG/>
<o:PixelsPerInch>96</o:PixelsPerInch>
</o:OfficeDocumentSettings>
</xml><![endif]-->`),
  false
);

assert.equal(
  emptyCondCommentRegex().exec(
    "<html><!--[if !mso]><![endif]--><title>"
  )[0],
  "<!--[if !mso]><![endif]-->"
);

assert.deepEqual(
  `<html> <!--[if !mso]><![endif]--> <title>text</title> <!--[if gte mso 9]>
<xml>
<![endif]-->`.match(emptyCondCommentRegex()),
  ["<!--[if !mso]><![endif]-->"]
);

§ API

emptyCondCommentRegex()

In other words, it's a function which returns a RegExp object.

§ Changelog

See it in the monorepo opens in a new tab, on GitHub.

§ Contributing

To report bugs or request features or assistance, raise an issue on GitHub opens in a new tab.

Any code contributions welcome! All Pull Requests will be dealt promptly.

§ Licence

MIT opens in a new tab

Copyright © 2010–2021 Roy Revelt and other contributors

Related packages:

📦 regex-is-jsp 2.0.14
Regular expression for detecting JSP (Java Server Pages) code
📦 regex-is-jinja-nunjucks 2.0.14
Regular expression for detecting Jinja or Nunjucks code
📦 regex-jinja-specific 2.0.14
Regular expression for detecting Python-specific Jinja code