Learn Some Basic Computer Skills for STEM Freshman

工科类专业-·-入学前5周计算机学习计划">工科类专业 · 入学前5周计算机学习计划

适用对象:计算机基础薄弱但希望提前衔接大学课程的准大学生
学习方向:工科类专业所需的计算机基础知识与技能


📋 修改历史

版本 日期 说明
v1.4 2026-07-11 增加“附录-4:正则表达式入门”
v1.3 2026-07-09 增加“XMind” in “桌面常用软件”
增加“附录-3: CPU Arch & OS”
v1.2 2026-07-04 增加“桌面常用软件”
v1.1 2026-07-02 增加“AI通识学习”
v1.0 2026-06-29 初始版本

📋 总体目标

目标 说明
掌握编程基础 以 C 语言和python为主
掌握Linux基础 以树莓派4为平台,熟悉Linux操作系统
熟悉开发工具链 Git、IDE、命令行等常用工具

💻 所需设备清单

必备设备

设备 规格要求 用途说明
电脑/笔记本 Windows 10/11 系统,8GB+内存 主要学习设备,安装VSCode等工具
树莓派4 4GB 或 8GB 内存版本 Linux学习与开发平台
SD卡 32GB 以上(Class 10 或 U3) 树莓派操作系统存储
树莓派散热套装 散热片 + 风扇(或铝合金外壳) 保证树莓派稳定运行
树莓派电源 5V/3A USB-C 建议使用官方电源适配器
键鼠套装 普通USB键鼠即可 初始配置树莓派时使用
显示器 HDMI接口(或转接头) 初始配置时使用,后续可用SSH

网络设备

设备 用途说明
路由器 提供局域网环境,连接树莓派和电脑
网线(可选) 有线连接更稳定,适合SSH开发

配件参考价格

配件 参考价格
树莓派4 4GB 约 300-400 元
树莓派4 8GB 约 500-600 元
32GB SD卡 约 30-50 元
散热套装 约 20-40 元
官方电源 约 50-80 元
外壳 约 30-100 元

提示:可购买树莓派4入门套装(含外壳、散热、电源、SD卡),京东/淘宝价格约 400-600 元


📅 分周计划

第1周:计算机基础与高效使用

目标:熟悉电脑性能优化、效率工具,为后续编程学习打下基础

日期 学习内容 推荐资源
第1-2天 电脑基础操作:文件管理、磁盘清理、快捷键 哔哩哔哩「电脑基础操作」
第3天 学会使用 Markdown 写作(Typora / VS Code) 哔哩哔哩「Markdown教程」
第4天 常用网络账号注册(Gmail / Apple ID / GitHub / Cloudflare) 各平台官网
第5天 密码管理软件学习(Bitwarden 免费开源) Bitwarden官网
第6天 了解计算机硬件基础(CPU/内存/硬盘/主板) 哔哩哔哩「计算机硬件基础」
第7天 搭一个自己的学习环境(分类文件夹、常用软件安装) 自行摸索

本周成果:完成一份 Markdown 格式的自我介绍


第2周:编程入门 —— C语言(一)

目标:建立编程思维,掌握 C 语言基本语法

日期 学习内容 推荐资源
第1-2天 什么是编程、C语言简介、第一个程序「Hello World」 鱼C工作室
第3-4天 变量与数据类型、输入输出(printf / scanf) 浙大翁恺C语言
第5-6天 条件语句(if / switch)、循环(while / for) 浙大翁恺C语言
第7天 练习:写一个猜数字游戏 自行实践

猜数字游戏需求

  • 程序随机生成 1~100 的整数
  • 用户通过键盘输入猜测的数字
  • 程序根据猜测给出提示(”太大了” / “太小了” / “恭喜猜中!”)
  • 限制最多猜测 7 次,超出则游戏失败
  • 猜中后显示用户共猜了多少次
  • 支持游戏结束后选择重新开始或退出

本周成果:编写一个完整的猜数字程序

推荐书籍(PDF可在Z-Library下载)

  • 《C Primer Plus》第5/6版
  • 《啊哈C语言》适合完全零基础

第3周:编程入门 —— C语言(二)

目标:掌握函数、数组和指针(指针是C语言核心,也是电类专业重点)

日期 学习内容 推荐资源
第1-2天 函数(定义、调用、参数传递) 浙大翁恺C语言
第3-4天 数组(一维数组、二维数组) 浙大翁恺C语言
第5-6天 指针基础(地址、指针变量、指针与数组) 浙大翁恺C语言
第7天 综合练习:用指针处理数组 洛谷 / Codeforces

本周成果:能理解并使用指针操作数组


第4周:Python基础 + 树莓派4 / Linux入门

目标:拓宽编程视野 + 接触电子信息专业的软件工具

日期 上午(2-3小时) 下午(2-3小时)
第1天 Python环境搭建(Python 3.x / PyCharm) Python基本语法、print、变量
第2天 列表、字典、条件与循环 用Python做简单计算
第3天 树莓派4环境搭建(系统烧录、SSH连接、散热和外壳) 哔哩哔哩「树莓派入门」
第4天 树莓派OS基础(文件系统、远程连接、Vim编辑器) 树莓派官方文档
第5天 Shell基础命令(ls / cd / mkdir / grep / pip / chmod) 哔哩哔哩「Linux常用命令」
第6天 Linux文本处理(cat / grep / sed / awk / 管道) Linux命令练习
第7天 Linux用户权限与进程管理(useradd / sudo / ps / kill) 哔哩哔哩「Linux权限管理」

本周成果:在树莓派上完成SSH远程访问和简单服务器搭建

软件获取渠道

软件 获取方式
树莓派4 官网或京东/淘宝购买(约300-500元,含外壳散热)
树莓派Imager 官网免费下载
Python 官网免费下载
PyCharm 官网(社区版免费)
VSCode 官网(远程SSH插件支持)

第5周:GitHub + AI工具入门

目标:掌握版本控制工具,学习使用AI辅助编程工具

日期 学习内容 推荐资源
第1-2天 Git版本控制入门(什么是Git、仓库创建) 廖雪峰Git教程
第3-4天 GitHub使用(注册账号、创建仓库、提交代码) GitHub官网
第5-6天 整理前4周的学习笔记和代码(Markdown汇总) 回顾+总结
第7天 常用AI Agent安装与使用(Codex / Reasonix) Codex官网 / Reasonix官网

本周成果:在GitHub上创建个人仓库并提交代码


📚 推荐学习资源汇总

哔哩哔哩(视频学习)

方向 推荐UP主/课程
C语言 浙大翁恺C语言鱼C工作室
Python 鱼C工作室小甲鱼Python
树莓派4 / Linux 树莓派官方文档稚晖君
Git/GitHub 廖雪峰Git教程GitHub官网
Linux 韩顺平Linux

GitHub 资源

仓库名 内容
awesome-cs-books 计算机经典书籍合集
awesome-courses 全球顶尖大学课程
free-programming-books 免费编程书籍
project-based-learning 项目驱动学习

网站与工具

类型 推荐
刷题平台 洛谷(适合初学者)、LeetCode
编程练习 洛谷牛客网
文档查询 cppreference(C语言官方文档)
Linux学习 Linuxize菜鸟教程Linux
AI编程助手 CodexReasonix
AI通识学习 高校“动手学AI”人工智能通识与实践
开发者社区 CSDN掘金Stack Overflow(英文)
密码管理 Bitwarden(免费开源)

⚠️ 重要提示

  1. 动手 > 听课:看10遍视频不如亲手写一遍代码,务必保证每天coding时间
  2. 英语很重要:很多优质资料是英文的,建议逐渐适应阅读英文文档
  3. 数学不能丢:电子信息专业对数学要求较高,假期可复习高数/线代
  4. 善用搜索引擎:遇到问题先搜索(Google/必应),再问人
  5. 加入学长群:获取第一手学习经验和软件资源

🎯 5周后预期收获

  • ✅ 能独立编写C语言程序(数组、函数、指针)
  • ✅ 会用Git管理自己的代码
  • ✅ 有自己的GitHub主页
  • ✅ 掌握树莓派4和Linux基础操作
  • ✅ 会使用AI辅助编程工具提升学习效率

祝大学生活顺利!
制定日期:2026年6月29日


附录-1:Windows + VSCode 远程连接树莓派4 开发环境搭建

一、树莓派4 准备工作

1.1 安装树莓派OS

  1. 在Windows电脑上下载 树莓派Imager
  2. 插入SD卡,运行Imager
  3. 选择设备:Raspberry Pi 4
  4. 选择操作系统:Raspberry Pi OS (64-bit)(推荐)
  5. 选择存储卡,点击 烧录
  6. 烧录完成后,将SD卡重新插入电脑

1.2 开启SSH和配置WiFi(无显示器_setup)

在SD卡的 boot 分区根目录下创建两个文件:

文件1:ssh(空文件,无扩展名)

1
# 在boot分区创建空文件ssh

文件2:userconf.txt(设置初始用户)

1
pi:$6$rBoByRjA$WfJdvfad9adfnjE7Efp.nYEQtRjLYfR2nfvRjLYfR2n/

默认用户 pi,密码 raspberry

文件3:wpa_supplicant.conf(配置WiFi)

1
2
3
4
5
6
7
8
9
country=CN
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
ssid="你的WiFi名称"
psk="你的WiFi密码"
priority=1
}

1.3 启动树莓派

  1. 将SD卡插入树莓派
  2. 通电开机,等待约1-2分钟
  3. 登录路由器后台查看树莓派获得的IP地址(如:192.168.1.100)

二、树莓派4 安装gcc和git

2.1 SSH连接树莓派

在Windows PowerShell或CMD中执行:

1
2
ssh pi@192.168.1.100
# 输入密码:raspberry

2.2 更新软件源并安装工具链

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 更新软件包列表
sudo apt update

# 升级已安装软件
sudo apt upgrade -y

# 安装gcc编译器
sudo apt install gcc -y

# 安装git版本控制
sudo apt install git -y

# 验证安装
gcc --version
git --version

2.3 创建开发目录

1
2
3
# 创建C语言练习目录
mkdir -p ~/c-practice
cd ~/c-practice

三、Windows VSCode 远程连接配置

3.1 安装VSCode

  1. 下载 VSCode for Windows
  2. 安装时勾选「添加到PATH」和「通过Code打开」

3.2 安装Remote SSH扩展

  1. 打开VSCode
  2. Ctrl+Shift+X 打开扩展市场
  3. 搜索 Remote - SSH 并安装(由Microsoft提供)
  4. 搜索 C/C++ 并安装(由Microsoft提供)

3.3 配置SSH连接

  1. Ctrl+Shift+P 打开命令面板
  2. 输入 Remote-SSH: Open Configuration File
  3. 选择 ~/.ssh/config
  4. 添加以下内容:
1
2
3
4
Host raspberrypi
HostName 192.168.1.100
User pi
Port 22

3.4 连接树莓派

  1. Ctrl+Shift+P
  2. 输入 Remote-SSH: Connect to Host
  3. 选择 raspberrypi
  4. 输入密码:raspberry
  5. 连接成功后,左下角显示 ><> SSH: raspberrypi

四、在VSCode中编写C语言程序

4.1 创建第一个C程序

  1. 在VSCode中按 Ctrl+O 打开文件夹
  2. 连接到树莓派后,选择 /home/pi/c-practice 目录
  3. Ctrl+N 新建文件,保存为 hello.c
1
2
3
4
5
6
#include <stdio.h>

int main() {
printf("Hello, World!\n");
return 0;
}

4.2 编译运行

在VSCode终端(`Ctrl+``)中执行:

1
2
gcc hello.c -o hello
./hello

4.3 使用Git管理代码

1
2
3
4
5
6
7
8
9
10
11
12
13
# 在树莓派上配置Git
git config --global user.name "你的GitHub用户名"
git config --global user.email "你的邮箱"

# 初始化仓库
cd ~/c-practice
git init
git add hello.c
git commit -m "first commit: hello world"

# 关联GitHub远程仓库(先在GitHub上创建空仓库)
git remote add origin https://github.com/你的用户名/仓库名.git
git push -u origin master

五、常见问题排查

问题 解决方法
SSH连接被拒绝 确认SSH文件存在且树莓派已联网
找不到gcc 执行 sudo apt install gcc 重新安装
VSCode远程卡顿 检查网络延迟,尝试使用有线连接
Git推送失败 确认GitHub账号已添加SSH公钥

六、推荐:VSCode必装扩展(远程端)

在树莓派连接状态下,安装以下扩展提升体验:

  • C/C++ - C语言智能提示和调试
  • Bracket Pair Colorizer - 括号高亮配对
  • vscode-icons - 文件图标美化
  • One Dark Pro - 主题配色

附录-2: 桌面常用软件

序号 类型 软件名称 功能简介 官方网站 是否免费 自启动建议
1 开发工具 VS Code 微软出品的代码编辑器,丰富插件生态 code.visualstudio.com No
2 开发工具 Notepad++ 轻量级代码和文本编辑器,支持多语言高亮 notepad-plus-plus.org 是(开源) No
3 开发工具 Python 通用编程语言 python.org 是(开源) No
4 开发工具 Git 分布式版本控制系统 git-scm.com 是(开源) No
5 开发工具 Meld 可视化文件差异对比和合并工具 meldmerge.org 是(开源) No
6 开发工具 WSL Windows 下的 Linux 子系统 learn.microsoft.com/wsl No
7 开发工具 Warp AI 驱动的现代终端模拟器 warp.dev 部分免费 No
8 开发工具 MobaXterm 增强型远程终端工具(支持 SSH/SFTP/X11) mobaxterm.mobatek.net 部分免费 No
9 开发工具 Claude Code CLI Anthropic 出品的 AI 编程命令行助手 claude.com/claude-code 免费(按 Token 计费) No
10 开发工具 CC Switch Claude Code 模型/API 切换工具 CC Switch 是(开源) Yes
11 效率工具 Everything 极速本地文件和文件夹搜索工具 voidtools.com Yes
12 效率工具 LocalSend 免费开源局域网跨平台文件传输工具 localsend.org 是(开源) No
13 效率工具 FluentCleaner WinUI 3 的 Windows 系统清理工具,支持社区维护的清理规则数据库 builtbybel/FluentCleaner 是(开源) No
14 效率工具 Pixpin 截图、贴图、长截图、OCR文字识别 pixpin.cn Yes
15 效率工具 Ditto 剪贴板管理,保存和快速检索历史记录 ditto-cp.sourceforge.io 是(开源) Yes
16 效率工具 Listary 文件快速搜索和启动工具 listary.com 部分免费 Yes
17 效率工具 Auto Hot Key (AHK) 自动化脚本和快捷键自定义 autohotkey.com 是(开源) Yes
18 效率工具 7-zip 开源文件压缩/解压工具 7-zip.org 是(开源) No
19 效率工具 PDF-Xchange Editor PDF 阅读、编辑和注释工具 pdf-xchange.com 部分免费 No
20 效率工具 Draw.IO 在线流程图和图表绘制工具 drawio.com No
21 办公应用 Obsidian 基于 Markdown 的知识管理和笔记软件 obsidian.md 是(个人) Yes
22 办公应用 Typora 所见即所得的 Markdown 编辑器 typora.io No
23 办公应用 Word 文字处理和文档编辑 microsoft.com/word No
24 办公应用 XMind Mindmap(思维导图)编辑 免费下载 Xmind 思维导图 是(个人部分功能免费) No
25 办公应用 Excel 电子表格和数据分析 microsoft.com/excel No
26 办公应用 PowerPoint 演示文稿制作 microsoft.com/powerpoint No
27 办公应用 Outlook 电子邮件和日历管理 microsoft.com/outlook 部分免费 Yes
28 社交通讯 微信 即时通讯、文件传输 weixin.qq.com Yes
29 社交通讯 飞书 协作办公平台(文档、会议、消息) feishu.cn Yes
30 开发工具 The Silver Searcher (ag) 超快的代码搜索工具,比 grep 更快,支持 .gitignore 规则 github.com/ggreer/the_silver_searcher 是(开源) No

附录-3: CPU Arch & OS

附录-4:正则表达式入门

一、什么是正则表达式

正则表达式(Regular Expression,常缩写为 RegexRegExp)是一种描述文本模式的语言。它不是某一种编程语言,而是一套用于搜索、匹配、提取、替换和校验文本的规则。

例如,普通搜索只能查找固定文本 cat;正则表达式 c[aeiou]t 则可以匹配 catcetcitcotcut。正则表达式常见于:

  • VS Code、Notepad++ 等编辑器的查找与替换
  • Linux 命令 grepsedawk
  • Python、JavaScript、Java、C# 等编程语言
  • 日志分析、数据清洗、表单校验和批量修改文件

正则表达式适合处理具有明确规律的文本,但不适合完整解析 HTML、JSON 或复杂程序代码;这些场景通常应使用专门的解析器。

二、最常用的语法

以下语法是多数现代正则引擎都支持的常用部分。表中的“匹配”指字符串中满足规则的内容,而不一定是整个字符串。

语法 含义 示例 可以匹配
abc 普通字符按原样匹配 cat cat
. 除换行符外的任意单个字符(通常如此) c.t catc9t
[abc] 字符集合中的任意一个字符 gr[ae]y graygrey
[^abc] 不在集合中的任意一个字符 [^0-9] 任意非数字字符
[a-z] 指定范围内的一个字符 [A-Za-z] 一个英文字母
\d 一个数字;不同引擎对非 ASCII 数字的处理可能不同 \d\d 42
\w 一个“单词字符”;字符范围随引擎和 Unicode 模式而变化 \w+ hello_2
\s 一个空白字符 A\s+B A BA\tB
\D\W\S 分别是 \d\w\s 的反义 \D+ 连续的非数字字符
^ 字符串或行的开头 ^Error 行首的 Error
$ 字符串或行的结尾 ;$ 行尾的分号
\b 单词边界 \bcat\b 独立单词 cat,不匹配 catalog
* 前一项重复 0 次或多次 ab*c acabcabbc
+ 前一项重复 1 次或多次 ab+c abcabbc
? 前一项重复 0 次或 1 次 colou?r colorcolour
{m} 前一项恰好重复 m 次 \d{4} 2026
{m,n} 前一项重复 m 至 n 次 \d{2,4} 122026
A|B 匹配 A 或 B cat|dog catdog
(abc) 捕获分组,将多项视为一个整体并保存匹配结果 (ab)+ ababab
(?:abc) 非捕获分组,只分组而不保存结果 (?:ab)+ ababab
\1 反向引用第 1 个捕获组 \b(\w+)\s+\1\b the the
\. 转义元字符,匹配字面量 . example\.com example.com

正则中的常见元字符包括:

1
. ^ $ * + ? { } [ ] \ | ( )

要匹配这些符号本身,通常需要在前面加反斜杠。例如 \+ 匹配加号,\( 匹配左括号。

三、从简单例子开始

3.1 查找连续数字

1
\d+

在文本 Room 305, Building 7 中会匹配 3057。其中 \d 表示数字,+ 表示一个或多个。

3.2 校验中国大陆手机号码的基本格式

1
^1[3-9]\d{9}$
  • ^$ 要求整个字符串都符合规则
  • 1 要求第一位是 1
  • [3-9] 要求第二位是 3 至 9
  • \d{9} 要求后面恰好有 9 位数字

这只能校验基本格式,不能证明号码真实存在,也不代表号段规则永远不变。

3.3 提取日期的各个部分

1
(\d{4})-(\d{2})-(\d{2})

匹配 2026-07-11 后,第 1、2、3 个捕获组分别是 20260711。在替换文本中,不同工具可能使用 $1\1 或其他写法引用这些组。

3.4 批量交换“姓, 名”

原始文本:

1
2
Zhang, San
Li, Hua

查找:

1
^(\w+),\s*(\w+)$

替换(VS Code / JavaScript 常用写法):

1
$2 $1

结果:

1
2
San Zhang
Hua Li

3.5 用 Python 提取邮箱地址

1
2
3
4
5
import re

text = "Contact: alice@example.com, bob@test.org"
emails = re.findall(r"[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}", text)
print(emails)

这里使用 Python 的原始字符串 r"...",可以减少反斜杠的重复转义。这个表达式适合一般文本提取,但不是对电子邮箱标准的完整实现。

3.6 用 grep 筛选日志

1
grep -E '^ERROR|^WARN' app.log

-E 表示使用 POSIX ERE(扩展正则表达式),该命令会输出以 ERRORWARN 开头的行。

四、分组、断言和匹配模式

4.1 捕获组与命名组

圆括号 (pattern) 不仅改变运算范围,还会保存匹配结果。现代引擎通常还支持命名组,但语法并不统一:

1
(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})

上面是 JavaScript、.NET 等引擎常见的命名形式;Python 常写成 (?P<year>\d{4})

4.2 前瞻与后顾

断言只检查某个位置的前后是否符合条件,不把被检查的文字包含进最终匹配结果。

语法 名称 示例 含义
(?=...) 正向前瞻 \d+(?=元) 匹配后面紧跟“元”的数字
(?!...) 负向前瞻 foo(?!bar) 匹配后面不是 barfoo
(?<=...) 正向后顾 (?<=¥)\d+ 匹配前面紧跟 的数字
(?<!...) 负向后顾 (?<!-)\d+ 匹配前面不是减号的数字

POSIX BRE/ERE 不支持这些断言;某些旧版工具或引擎也不支持后顾。

4.3 常用标志(Flags)

标志 常见名称 作用
i ignore case 忽略英文字母大小写
m multiline ^$ 匹配每一行的开头和结尾
s dotall / singleline . 也能匹配换行符
g global 查找全部匹配,而不是只找第一个(常见于 JavaScript 和编辑器)
x verbose / free-spacing 允许加入空白和注释以提高可读性;并非所有引擎都支持

标志的开启方式取决于环境,例如 JavaScript 写作 /error/gi,Python 写作 re.findall(pattern, text, re.I)

五、贪婪与懒惰匹配

*+?{m,n} 默认通常是贪婪的,即在仍能完成整体匹配的前提下尽量多匹配字符。

文本:

1
<b>one</b><b>two</b>
  • <b>.*</b> 会从第一个 <b> 一直匹配到最后一个 </b>
  • <b>.*?</b> 使用懒惰量词 *?,会分别匹配两个较短片段
  • <b>[^<]*</b> 明确限制内容不能含 <,通常更清晰

POSIX 正则没有 *? 这种懒惰量词。并且真实 HTML 结构可能嵌套或包含特殊情况,应优先使用 HTML 解析器。

六、主要正则规范和引擎的差别

“正则表达式”并非只有一种完全统一的语法。应先确认当前工具使用哪一种规范或正则引擎

特性 POSIX BRE POSIX ERE JavaScript Python re PCRE / PCRE2 .NET
常见环境 grep 默认、部分 sed grep -Eawk 浏览器、Node.js Python PHP、部分工具 C#、PowerShell
`+ ? ( )` POSIX BRE 不提供 +?、` ;分组写作 ( )。GNU grep 另扩展了 +?|` 直接作为元字符 支持 支持
\d\w\s 不属于 POSIX 标准 不属于 POSIX 标准 支持 支持 支持 支持
POSIX 字符类 [[:digit:]] 支持 支持 通常不支持 不支持 部分模式支持 通常不支持
非捕获组 (?:...) 不支持 不支持 支持 支持 支持 支持
前瞻 不支持 不支持 支持 支持 支持 支持
后顾 不支持 不支持 现代版本支持,细节受实现影响 支持,但通常要求固定长度 支持,能力依版本而异 支持,长度限制与其他引擎不同
命名组 不支持 不支持 (?<name>...) (?P<name>...) 支持多种形式 (?<name>...)
模式内标志 不支持 不支持 通常在 /.../flags 外部指定 (?i) (?i) (?i)
匹配原则 左最先、最长匹配 左最先、最长匹配 左最先,按回溯路径决定 左最先,按回溯路径决定 左最先,按回溯路径决定 左最先,按回溯路径决定

几个最容易遇到的差异如下:

  1. grep 的两套语法grep 默认使用 BRE;需要 +?| 和普通括号时,初学者通常使用 grep -E 更直观。
  2. 字符类别并不完全等价:在某些 Unicode 引擎中,\d 能匹配多种语言的数字,\w 也可能包含 Unicode 字母;JavaScript 中的 \d\w 通常更接近 ASCII 范围。若只允许 ASCII,可明确写 [0-9][A-Za-z0-9_]
  3. 字符串还会再转义一次:正则本身的 \d 放进某些编程语言的普通字符串时,可能要写成 "\\d"。Python 可使用 r"\d";JavaScript 正则字面量可写 /\d/
  4. 替换语法不同:VS Code、JavaScript 和 .NET 常用 $1;Python re.sub 常用 \1 或更明确的 \g<1>;具体应查当前工具文档。
  5. 换行符有平台差异:Windows 文本常使用 \r\n,Linux 常使用 \n。需要同时兼容时可写 \r?\n

七、常用正则速查

需求 示例表达式 备注
只包含 ASCII 数字 ^[0-9]+$ 至少一位数字
简单整数 ^[+-]?[0-9]+$ 可带正负号
简单小数 `^[+-]?(?:[0-9]+(?:.[0-9]*)? .[0-9]+)$`
4 位年份 `^(?:19 20)[0-9]{2}$`
YYYY-MM-DD 外形 `^[0-9]{4}-(?:0[1-9] 1[0-2])-(?:0[1-9]
IPv4 外形 ^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$ 未限制每段必须为 0—255
十六进制颜色 ^#[0-9A-Fa-f]{6}$ #1E90FF
行首或行尾空白 `^\s+ \s+$`
连续重复单词 \b(\w+)\s+\1\b 是否忽略大小写取决于标志
Markdown 标题 ^#{1,6}\s+.+$ 需多行模式

这些表达式主要用于学习和常见数据清洗。日期、IP 地址、URL、邮箱等真实业务规则往往比表面格式复杂;重要数据应在正则匹配后继续进行程序校验。

八、学习和调试建议

  1. 先用普通文本写出要找的固定部分,再逐步替换为字符类和量词。
  2. 使用 ^$ 区分“整个字符串必须符合规则”与“字符串中存在一段匹配”。
  3. 为每个表达式准备应当匹配和不应当匹配的测试样例。
  4. 长表达式尽量拆分、加注释,或使用引擎支持的 verbose 模式。
  5. 避免无约束地叠加 .*(.+)+ 等结构,它们可能造成严重回溯和性能问题。
  6. 从网络复制正则后,要确认其目标引擎、字符编码、标志和输入边界,不要直接用于重要数据。

学习正则表达式最有效的方法不是背下所有语法,而是从编辑器的“使用正则表达式查找”开始,针对真实文本不断编写、测试和修改。


Learn Some Basic Computer Skills for STEM Freshman
https://myblog.liyuepeng.cn/2026/06/29/Learn_Some_Basic_Computer_Skills_for_STEM_Freshman/
作者
Li Yuepeng
发布于
2026年6月29日
许可协议