使用正则表达式怎么匹配Markdiwn的H1~H6?

简单地使用/(#{1,6}) *(\S+) *(?:\r|\n)*/确实能匹配出Markdown中的H1~H6标题,但是也把引用和代码块中的#(比如注释)匹配到了,如:

一段文字

使用> 的注释

或者

# 使用四个空格缩进的注释

# 使用`的注释

// code... # 代码注释
# 使用```的注释

怎样排除这些不需要匹配的情况

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

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

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

两种方式区分

  • 标题换个规则

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

  • 购物车模块的业务逻辑
  • js窗口逃生效果求教
  • sql语句使用 LiKE 从 类型为text的值中查询 , 效率怎样 ?
  • thinkphp+mysql
  • MySQL中文全文搜索用迅搜还是Sphinx?
  • 个人技能树点亮,请教前端问题。
  • 为什么被curl请求页面的session_id是一直变化的
  • PHP类库加载规则请教
  • mysql_num_rows()返回值为0时无法进入判断?
  • php curl 有个问题请指教
  • php-selenium使用中遇到的问题