正则替换怎么用 - 在线正则表达式批量替换工具

1704 字
9 分钟
正则替换怎么用 - 在线正则表达式批量替换工具

🌟 正则替换能做什么#

普通查找替换只能替换”固定的文字”,而正则替换可以按模式替换:把所有日期改成另一种格式、删掉多余空格、给每行加前缀、提取并重排内容。星点正则替换工具让你在线完成这件事,并实时看到替换前后对照。

它是”批量整理文本”最实用的能力之一:一次写好规则,几千行一次搞定。


🚀 怎么用(详细步骤)#

  1. 打开正则替换;
  2. 填写”正则表达式”和”Flags”;
  3. 粘贴原始文本;
  4. 填写”替换内容”,可引用捕获组;
  5. 查看替换后文本与替换次数;
  6. 复制结果。

🔑 替换引用:把捕获组”搬”到结果里#

引用含义
$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 实体#

  • 正则:&nbsp;
  • 替换:空格

19. 路径分隔符转换#

  • 正则:\\
  • 替换:/

20. 统一手机号格式(去空格/横线)#

  • 正则:[\s-]
  • 替换:(空)

🔁 批量替换的工程实践#

  1. 先抽样验证:取 3~5 行试替换,确认规则正确;
  2. 备份原文:批量操作前复制一份;
  3. 分步执行:多规则时一条条来,便于定位问题;
  4. 检查边界:空行、行首行尾、最后一行是否有遗漏;
  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正则、银行卡正则怎么写?给出可直接复制使用的表达式、逐段解释与正误示例,覆盖网络/联系/身份/日期/数字/字符/开发场景,并说明各语言引擎差异。附在线常用格式正则工具。
随机文章 随机推荐
公告
🎉 已升级 2.0 版本,欢迎使用。
分类
标签
站点统计
文章
197
分类
24
标签
747
总字数
334,099
运行时长
0 天
最后活动
0 天前

目录