php - Wie kann ich Markdiwns H1~H6 mit regulären Ausdrücken abgleichen?
某草草
某草草 2017-06-14 10:49:55
0
2
709

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?

某草草
某草草

Antworte allen(2)
滿天的星座

就你的问题而言。/^#/似乎就能满足需求,但是架不住php、bash之类以#为注释的语言。

所以如果想要做得足够精准,就需要把md分块解析。

过去多啦不再A梦

我觉得你的问题是注释的代码块和标题的规则是一样的,怎么进行区分。

两种方式区分

  • 标题换个规则

  • 代码块放在固定的标签里

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage