Skip to content

转义字符

转义字符允许你在 Markdown 中显示原本具有特殊含义的字符。通过在字符前添加反斜杠 \,可以取消其特殊功能。

基本转义概念

什么是转义

在 Markdown 中,某些字符具有特殊含义(如 * 用于强调),当你想要显示这些字符本身时,需要使用转义。

markdown
这是 *斜体* 文本。
这是 \*普通星号\* 文本。

渲染效果

这是 斜体 文本。 这是 *普通星号* 文本。

需要转义的字符

完整列表

以下字符在 Markdown 中具有特殊含义,需要转义:

字符描述转义语法用途
\反斜杠\\转义字符
`反引号\`行内代码
*星号\*强调、列表
_下划线\_强调
{}花括号\{ \}扩展语法
[]方括号\[ \]链接、图片
()圆括号\( \)链接、图片
#井号\#标题
+加号\+列表
-减号\-列表、分隔线
.句点\.有序列表
!感叹号\!图片

常用转义示例

星号和下划线

markdown
❌ 不转义:
这个文件名是 file_name_v2.txt
这个公式是 2*3*4 = 24

✅ 转义:
这个文件名是 file\_name\_v2.txt
这个公式是 2\*3\*4 = 24

渲染效果

❌ 不转义: 这个文件名是 file_name_v2.txt 这个公式是 234 = 24

✅ 转义: 这个文件名是 file_name_v2.txt 这个公式是 2*3*4 = 24

井号标题

markdown
❌ 不转义:
# TODO: 完成任务

✅ 转义:
\# TODO: 完成任务

渲染效果

❌ 不转义:

TODO: 完成任务

✅ 转义: # TODO: 完成任务

列表符号

markdown
❌ 不转义:
价格: 100 - 200 元
步骤: 1. 准备 2. 执行

✅ 转义:
价格: 100 \- 200 元
步骤: 1\. 准备 2\. 执行

渲染效果

❌ 不转义: 价格: 100 - 200 元 步骤: 1. 准备 2. 执行

✅ 转义: 价格: 100 - 200 元 步骤: 1. 准备 2. 执行

链接语法

markdown
❌ 不转义:
查看文档 [这里](http://example.com)

✅ 转义(显示原始语法):
查看文档 \[这里\]\(http://example.com\)

渲染效果

❌ 不转义: 查看文档 这里

✅ 转义(显示原始语法): 查看文档 [这里](http://example.com)

特殊情况处理

反斜杠本身

要显示反斜杠字符,需要使用双反斜杠:

markdown
文件路径: C:\\Users\\Username\\Documents
Unix路径: /home/user/documents

渲染效果

文件路径: C:\Users\Username\Documents Unix路径: /home/user/documents

反引号转义

在代码中显示反引号:

markdown
使用 `` \` `` 包围代码
使用 ``` \`\`\` ``` 创建代码块

渲染效果

使用 \` 包围代码 使用 \`\`\` 创建代码块

行尾反斜杠

反斜杠在行尾有特殊含义(强制换行):

markdown
第一行\
第二行(强制换行)

第一行\\
第二行(显示反斜杠)

渲染效果

第一行
第二行(强制换行)

第一行\ 第二行(显示反斜杠)

代码中的转义

行内代码

在行内代码中,大多数字符不需要转义:

markdown
代码: `let result = 2 * 3 + 1;`
路径: `C:\Users\*\Documents`

渲染效果

代码: let result = 2 * 3 + 1; 路径: C:\Users\*\Documents

代码块

在代码块中,字符保持原样:

markdown
```javascript
// 这些符号不需要转义
const pattern = /[.*+?^${}()|[\]\\]/g;
const path = "C:\\Users\\*\\Documents";
```

渲染效果

javascript
// 这些符号不需要转义
const pattern = /[.*+?^${}()|[\]\\]/g;
const path = "C:\\Users\\*\\Documents";

实际应用场景

1. 技术文档

markdown
## 配置文件语法

配置文件使用以下格式:

# 注释行 key = value [section]


注意:
- 使用 \# 开始注释
- 使用 \[\] 定义节
- 使用 \* 表示通配符

2. 数学表达式

markdown
## 数学公式

线性方程:y = a\*x + b
二次方程:y = a\*x² + b\*x + c
分数:1/2 = 0.5

注意:使用 \* 表示乘法运算符

3. 文件路径

markdown
## 文件系统

Windows路径:
- 系统目录:C:\\Windows\\System32
- 用户目录:C:\\Users\\{username}
- 程序目录:C:\\Program Files\\*

Linux路径:
- 根目录:/
- 用户目录:/home/{username}
- 通配符:/var/log/\*.log

4. 特殊符号说明

markdown
## 符号含义

在编程中:
- \* 通常表示指针或通配符
- \_ 用于命名约定(如 \_private)
- \# 用于注释或预处理指令
- \[\] 表示数组或可选参数
- \{\} 表示代码块或占位符

转义的最佳实践

1. 仅在需要时转义

markdown
✅ 推荐:只转义有歧义的字符
文件名: config.txt
价格: $10-20

❌ 不推荐:过度转义
文件名: config\.txt
价格: \$10\-20

2. 保持一致性

markdown
✅ 推荐:统一的转义风格
变量名: user\_id, item\_count, max\_size

❌ 不推荐:不一致的处理
变量名: user_id, item\_count, max_size

3. 使用代码格式

当有大量特殊字符时,考虑使用代码格式:

markdown
✅ 推荐:使用代码格式
配置语法: `[section]``key=value`

❌ 不推荐:大量转义
配置语法: \[section\] 和 key\=value

常见错误

1. 忘记转义

markdown
❌ 错误:
我的GitHub用户名是 user_name
这个函数叫 get_data()

✅ 正确:
我的GitHub用户名是 user\_name
这个函数叫 get\_data()

2. 过度转义

markdown
❌ 错误:
今天是 12\-25 号
这个文件是 README\.md

✅ 正确:
今天是 12-25 号  
这个文件是 README.md

3. 上下文错误

markdown
❌ 错误:在代码块中转义

let path = "C:\\Users\\Name"; ← 不需要双重转义


✅ 正确:

let path = "C:\Users\Name";

HTML 输出

转义字符的 HTML 输出:

markdown
这是 \*星号\* 文本

转换为:

html
<p>这是 *星号* 文本</p>

编辑器和工具

支持转义预览的编辑器

  • Visual Studio Code: Markdown Preview Enhanced
  • Typora: 实时预览
  • Mark Text: 所见即所得
  • Obsidian: 实时渲染

转义检查工具

markdown
<!-- markdownlint 规则 -->
MD049: 强调标记一致性
MD050: 强调标记样式

相关语法

练习

尝试正确显示以下内容:

  1. 文件路径:C:\Program Files\*\config.ini
  2. 变量名:user_idfile_namemax_count
  3. 数学表达式:2*x + 3*y = 15
  4. 配置语法:[section]key=value
  5. Markdown 语法:**粗体***斜体*

参考表格

常用转义速查

原字符转义后说明
\\\反斜杠
*\*星号
_\_下划线
#\#井号
[\[左方括号
]\]右方括号
(\(左圆括号
)\)右圆括号
+\+加号
-\-减号/连字符
.\.句点
!\!感叹号

由 Markdownlang.com 整理创建