简单地使用/(#{1,6}) *(\S+) *(?:\r|\n)*/
确实能匹配出Markdown中的H1~H6标题,但是也把引用和代码块中的#(比如注释)匹配到了,如:
一段文字
使用> 的注释
或者
# 使用四个空格缩进的注释
# 使用`的注释
// code... # 代码注释
# 使用```的注释
怎样排除这些不需要匹配的情况?
简单地使用/(#{1,6}) *(\S+) *(?:\r|\n)*/
确实能匹配出Markdown中的H1~H6标题,但是也把引用和代码块中的#(比如注释)匹配到了,如:
一段文字
使用> 的注释
或者
# 使用四个空格缩进的注释
# 使用`的注释
// code... # 代码注释
# 使用```的注释
怎样排除这些不需要匹配的情况?
1 回答4.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
2 回答2.2k 阅读
1 回答1.4k 阅读✓ 已解决
792 阅读
就你的问题而言。
/^#/
似乎就能满足需求,但是架不住php、bash之类以#为注释的语言。所以如果想要做得足够精准,就需要把md分块解析。