From b7cf310ee52ba50ba711f0a0cbab946df71de5ff Mon Sep 17 00:00:00 2001 From: fisker Cheung Date: Sat, 22 Aug 2026 06:11:09 +0800 Subject: [PATCH] Align `characterReferenceRegex` with `micromark-util-decode-string` (#19891) --- src/language-markdown/print/mdast.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/language-markdown/print/mdast.js b/src/language-markdown/print/mdast.js index 9b0a56d77..5077e2496 100644 --- a/src/language-markdown/print/mdast.js +++ b/src/language-markdown/print/mdast.js @@ -479,7 +479,9 @@ function shouldRemainTheSameContent(path) { } // https://spec.commonmark.org/0.31.2/#entity-and-numeric-character-references -const characterReferenceRegex = /&(?=(?:#x[\da-f]+|#\d+|[\da-z]+);)/gi; +// https://github.com/micromark/micromark/blob/774a70c6bae6dd94486d3385dbd9a0f14550b709/packages/micromark-util-decode-string/dev/index.js#L6 +const characterReferenceRegex = + /&(?=(?:#\d{1,7}|#x[\da-f]{1,6}|[\da-z]{1,31});)/gi; const escapeCharacterReferences = (value) => value.replaceAll(characterReferenceRegex, String.raw`\&`);