正则替换怎么用 - 在线正则表达式批量替换工具
1704 字
9 分钟
正则替换怎么用 - 在线正则表达式批量替换工具
🌟 正则替换能做什么
普通查找替换只能替换”固定的文字”,而正则替换可以按模式替换:把所有日期改成另一种格式、删掉多余空格、给每行加前缀、提取并重排内容。星点正则替换工具让你在线完成这件事,并实时看到替换前后对照。
它是”批量整理文本”最实用的能力之一:一次写好规则,几千行一次搞定。
🚀 怎么用(详细步骤)
- 打开正则替换;
- 填写”正则表达式”和”Flags”;
- 粘贴原始文本;
- 填写”替换内容”,可引用捕获组;
- 查看替换后文本与替换次数;
- 复制结果。
🔑 替换引用:把捕获组”搬”到结果里
| 引用 | 含义 |
|---|---|
$1 $2 … | 第 1、2 个捕获组的内容 |
$& | 整个匹配到的内容 |
$<name> | 命名捕获组的内容 |
$` | 匹配之前的文本 |
$' | 匹配之后的文本 |
理解引用,是正则替换的关键。详见正则捕获组怎么用。
💡 十二个实用场景
1. 日期格式转换
2026/09/13 → 2026-09-13:
- 正则:
(\d{4})/(\d{2})/(\d{2}) - 替换:
$1-$2-$3
2. 给每行加前缀(多行 m)
- 正则:
^ - 替换:
-
3. 去掉多余空格
- 正则:
\s{2,} - 替换:单个空格
4. 删除所有 HTML 标签
- 正则:
<[^>]+> - 替换:(空)
5. 删除空行
- 正则:
^\s*$\n(多行) - 替换:(空)
6. 交换两列
姓 名 → 名 姓:
- 正则:
^(\w+)\s+(\w+)$(多行) - 替换:
$2 $1
7. 手机号脱敏
13812345678 → 138****5678:
- 正则:
(\d{3})\d{4}(\d{4}) - 替换:
$1****$2
8. 统一键名
user_id → userId(下划线转驼峰):
- 正则:
_([a-z]) - 替换:
$1(配合大小写,部分引擎用\U)
9. 去千分位
1,234,567 → 1234567:
- 正则:
, - 替换:(空)
10. 行尾加逗号
- 正则:
$(多行) - 替换:
,
11. 包裹每行
给每行加引号:
- 正则:
^(.+)$(多行) - 替换:
"$1",
12. 删除行首行尾空白
- 正则:
^\s+|\s+$(多行) - 替换:(空)
⚠️ 注意事项
g标志:不勾选全局,只替换第一处;$的歧义:替换内容里想输出真正的$时需按规则转义(如$$);- 先备份:批量替换前先复制原文,确认结果无误再使用;
- 危险正则:含有嵌套量词的正则可能很慢,大文本下建议先用性能与安全检查;
- 多行处理:按行操作记得开
m。
🆚 替换 vs 文本处理
| 工具 | 适合 |
|---|---|
| 正则替换 | 专注”匹配→替换” |
| 正则文本处理 | 替换/删除/保留/分割/合并/重排/格式化 |
❓ 常见问题(FAQ)
替换会修改我的原始文本吗?
不会。工具生成新的结果文本,原始输入保持不变,可反复试验。支持多行替换吗?
支持。需要按行处理时勾选 `m` 多行模式。替换结果可以复制吗?
可以,支持一键复制替换结果。怎么在结果里输出真正的 $ 符号?
多数引擎里写 `$$` 表示一个字面 `$`;具体见目标语言文档。能只替换部分匹配吗?
可以,用捕获组缩小范围,或先精确正则再替换。替换次数怎么确认?
结果区会显示替换次数,便于核对。能批量替换多个规则吗?
可以分步执行;复杂流程用[正则文本处理](https://www.xingdian.net/app/regex/text/)。替换慢/卡住怎么办?
可能是危险正则的回溯问题,用[性能与安全](https://www.xingdian.net/app/regex/performance/)排查。🌐 不同语言的替换引用差异
同样的正则,各语言的”替换引用”写法可能不同:
| 语言 | 第 1 组 | 整个匹配 | 命名组 |
|---|---|---|---|
| JavaScript | $1 | $& | $<name> |
Python(re.sub) | \1 | \g<0> | \g<name> |
Java(replaceAll) | $1 | $0 | ${name} |
PHP(preg_replace) | $1 或 \1 | $0 | ${name} |
Go(ReplaceAllString) | ${1} | ${0} | — |
跨语言迁移替换逻辑时,引用语法和转义是最容易出错的地方,用多语言引擎核对。
🧰 更多替换场景
13. 把 URL 转成 Markdown 链接
- 正则:
(https?://\S+) - 替换:
[$1]($1)
14. 合并连续空行
- 正则:
\n{3,} - 替换:
\n\n
15. 删除行尾注释
- 正则:
\s*//.*$(多行) - 替换:(空)
16. 给数字加引号
- 正则:
(\d+) - 替换:
"$1"
17. 反转键值
a=b → b=a:
- 正则:
^(\w+)=(.+)$(多行) - 替换:
$2=$1
18. 去掉 HTML 实体
- 正则:
- 替换:空格
19. 路径分隔符转换
- 正则:
\\ - 替换:
/
20. 统一手机号格式(去空格/横线)
- 正则:
[\s-] - 替换:(空)
🔁 批量替换的工程实践
- 先抽样验证:取 3~5 行试替换,确认规则正确;
- 备份原文:批量操作前复制一份;
- 分步执行:多规则时一条条来,便于定位问题;
- 检查边界:空行、行首行尾、最后一行是否有遗漏;
- 大文本注意性能:危险正则先过性能与安全。
🧾 替换引用速查表
| 引用 | 含义 | 示例(正则 (\d{4})-(\d{2})) |
|---|---|---|
$1 | 第 1 组 | 2026 |
$2 | 第 2 组 | 09 |
$& | 整个匹配 | 2026-09 |
$` | 匹配之前 | 匹配点前的内容 |
$' | 匹配之后 | 匹配点后的内容 |
$<name> | 命名组 | 需命名组 |
⚠️ 更多坑
- 引用越界:
$9但只有 3 个组 → 得到空或字面量(因引擎而异); $1与$10歧义:想引用第 1 组后接 0,需写${1}0;- 大小写转换:部分引擎支持
\U(转大写)、\L(转小写),JS 不支持,需用回调; - 零宽匹配:
^、$、\b是零宽,替换时在位置处插入内容; - 全局状态:带
g的正则对象有lastIndex,连续调用要注意。
🧰 相关工具
🧭 更多常见问题
替换操作能撤销吗?
工具会保留原始输入;批量操作前建议自己复制一份原文。能替换换行符吗?
可以,用 `\n` 或 `\r?\n`;跨行匹配记得开 `m`/`s`。替换后能再替换一次吗?
可以,把结果作为新输入再做一轮;或直接用[正则文本处理](https://www.xingdian.net/app/regex/text/)分步。能替换多个文件吗?
浏览器无法直接批量改本地文件;可逐个处理,或用文本处理流程。替换结果能下载吗?
可复制结果;需要文件可粘贴到本地保存。为什么替换没生效?
检查是否漏了 `g`(只替换第一处)、正则是否匹配、以及替换引用是否正确。💬 总结
正则替换的关键是两点:写对”匹配模式”,再用 $1、$& 等引用把捕获组拼进结果。先在小段文本上试,确认无误再批量处理。
立即体验:访问 正则替换
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!
最后更新于 2026-09-13,距今已过 32 天
部分内容可能已过时
相关文章 智能推荐
1
正则表达式测试工具 - 在线测试正则匹配/捕获组(免费)
正则工具 在线正则表达式测试工具:输入正则与文本即时显示是否匹配、匹配数量、高亮、捕获组、命名组与匹配位置,支持 i/g/m/s/u 等 Flags,正则错误精确定位。含正则基础、10+ 实战示例、常见错误排查与 FAQ,浏览器本地处理不上传。
2
星点正则工具完整指南 - 14个在线正则表达式工具导航(2026)
正则工具 星点正则工具系列完整指南:正则测试、替换、提取、生成、解释、可视化、多引擎、ReDoS 检测等 14 个在线正则表达式工具一站式导航。含正则语法速览、按场景选工具、常见工作流与 FAQ,全部浏览器本地处理不上传。
3
正则表达式生成器 - 按条件或示例在线生成正则
正则工具 不会写正则?用正则生成器按条件生成:字符类型、长度、前缀后缀、数字范围、固定结构;也能从示例反推候选正则。在线免费,浏览器本地处理。
4
正则表达式文本处理 - 批量替换/删除/提取/分割实用指南
正则工具 正则文本处理怎么用?本文系统讲解用正则做批量替换、删除、保留、提取、分割、合并、重排、格式化的方法与实例,帮你把重复的文本整理工作一次做完。附在线正则文本处理工具。
5
手机号正则和邮箱正则怎么写 - 常用正则表达式示例大全
正则工具 手机号正则、邮箱正则、身份证正则、URL正则、银行卡正则怎么写?给出可直接复制使用的表达式、逐段解释与正误示例,覆盖网络/联系/身份/日期/数字/字符/开发场景,并说明各语言引擎差异。附在线常用格式正则工具。
随机文章 随机推荐