Le simple fait d'utiliser /(#{1,6}) *(S+) *(?:r|n)*/
peut effectivement faire correspondre les titres H1 ~ H6 dans Markdown, mais il peut également faire correspondre les références et # (comme les commentaires) dans les blocs de code, tels que :
Un paragraphe de texte
Commentaires en utilisant >
ou
# 使用四个空格缩进的注释
# 使用`的注释
// code... # 代码注释
# 使用"的注释
Comment éliminer ces situations qui ne nécessitent pas de matching ?
En ce qui concerne votre question.
/^#/
Il semble pouvoir répondre aux besoins, mais il ne peut pas prendre en charge les langages annotés avec # comme php et bash.Donc, si vous voulez être suffisamment précis, vous devez analyser md en morceaux.
Je pense que votre question est que les règles pour les blocs de code commentés et les titres sont les mêmes, comment les distinguer.
Deux façons de distinguer
Règles de changement de titre
Les blocs de code sont placés dans des balises fixes