Die einfache Verwendung von /(#{1,6}) *(S+) *(?:r|n)*/
kann zwar die H1~H6-Titel in Markdown abgleichen, aber es kann auch Referenzen und # (z. B. Kommentare) in Codeblöcken abgleichen, wie zum Beispiel:
Ein Textabschnitt
Kommentare mit >
oder
# 使用四个空格缩进的注释
# 使用`的注释
// code... # 代码注释
# 使用"的注释
Wie kann man diese Situationen beseitigen, die kein Matching erfordern?
就你的问题而言。
/^#/
似乎就能满足需求,但是架不住php、bash之类以#为注释的语言。所以如果想要做得足够精准,就需要把md分块解析。
我觉得你的问题是注释的代码块和标题的规则是一样的,怎么进行区分。
两种方式区分
标题换个规则
代码块放在固定的标签里