前置知识: Markdown

转义字符

3 minBeginner2026/6/14

Markdown转义机制:反斜杠转义规则、可转义字符列表与常见陷阱。

1. 转义机制概述

1.1 为什么需要转义

Markdown 使用特殊字符作为格式标记,当需要原样显示这些字符时,必须使用转义机制告诉解析器”这不是格式标记”。

# 不转义:标题

## 这是标题

# 转义:原样显示

\## 这不是标题,显示为 "## 这不是标题"

1.2 转义方式

Markdown 支持两种转义方式:

方式语法适用场景
反斜杠转义\*转义单个特殊字符
HTML 实体&转义任意字符

2. 反斜杠转义

2.1 可转义字符

CommonMark 规范定义了以下可转义字符:

字符名称用途转义示例
\\反斜杠转义前缀\\\
`反引号行内代码\``
*星号强调/无序列表\* → *
_下划线强调\_ → _
{}花括号某些扩展语法\{ → {
[]方括号链接/\[ → [
()圆括号链接\( → (
#井号标题\# → #
+加号有序列表\+ → +
-减号无序列表/分隔线\- → -
.句点有序列表\. → .
!感叹号\! → !
|管道符表格| → |

2.2 转义规则

规则一:反斜杠后跟可转义字符时,反斜杠被移除,字符原样显示

\*不是强调\*
_不是强调_

规则二:反斜杠后跟不可转义字符时,反斜杠保留

\A → \A
\3 → \3

规则三:反斜杠在行尾时,表示硬换行

第一行\
第二行
→ 第一行<br>第二行

2.3 代码块中的转义

代码块内的内容不进行 Markdown 解析,因此不需要转义:

    *这是代码块中的星号,不需要转义*

`` `这也是,不需要转义` ``

3. HTML 实体转义

3.1 常用 HTML 实体

字符实体名称实体编号说明
<&lt;&#60;小于号
>&gt;&#62;大于号
&&amp;&#38;& 符号
"&quot;&#34;双引号
'&apos;&#39;单引号
©&copy;&#169;版权符号
®&reg;&#174;注册商标
&trade;&#8482;商标符号
&mdash;&#8212;破折号
&ndash;&#8211;短破折号
&nbsp;&#160;不换行空格

3.2 使用场景

<!-- 显示 HTML 标签 -->

使用 `&lt;div&gt;` 创建容器

<!-- 显示 & 符号 -->

AT&amp;T 公司

<!-- 不换行空格(防止行尾断行) -->

第一章&nbsp;&nbsp;&nbsp;第二章

<!-- 版权声明 -->

Copyright &copy; 2026 My Company

4. 常见陷阱

4.1 表格中的管道符

表格中使用管道符需要转义:

| 命令           | 说明     |
| -------------- | -------- |
| `grep \| file` | 管道操作 |

<!-- 或使用 HTML 实体 -->

| 命令               | 说明     |
| ------------------ | -------- |
| `grep &#124; file` | 管道操作 |

4.2 强调中的星号

<!-- 错误:星号被解析为强调 -->

_文件名: readme_

<!-- 正确:转义星号 -->

\*文件名: readme\*

<!-- 或使用代码格式 -->

`*文件名: readme*`

4.3 正则表达式

<!-- 正则中的特殊字符需要转义 -->

匹配任意字符: `\.`

<!-- 更好的方式:使用代码块 -->

匹配任意字符: `\.`

4.4 数学公式中的转义

在 LaTeX 数学公式中,反斜杠是命令前缀,需要双重转义:

<!-- 在 Markdown 中显示 LaTeX 命令 -->

行内代码方式: `\alpha`
代码块方式:
\alpha + \beta

5. 各平台差异

场景CommonMarkGFM其他
| 在表格中不适用需要转义同 GFM
\- 在行首转义列表标记同 CommonMark
\# 在行首转义标题同 CommonMark
反斜杠数量偶数个显示为半数同 CommonMark