You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于Rust正则的sd工具中命名捕获组后接字符串如何正确引用?

解决方法

直接使用${组名}的格式显式定界命名捕获组即可,替换字符串中你需要把$cgB改成${cg}B,就能实现预期效果,不会引入任何额外字符。

验证示例:

echo 'abc' | sd -p '(?P<cg>b)' '${cg}B'
# 输出: abBc
# 完全符合预期

原理解释

Rust正则的替换字符串语法规则中,$开头的捕获组引用会默认将后续连续的字母、数字、下划线识别为组名的一部分。你之前尝试的<>尖括号是匹配阶段定义命名组的语法,替换阶段的定界符需要使用{}花括号,显式圈定组名的范围后,后续的普通字符就不会被误判为组名的一部分了。

内容的提问来源于stack exchange,提问作者balupton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 08:06:04