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

Sublime Text代码片段多正则替换:单变量驱动三规则实现

整合Sublime Text代码片段实现多步接口名转换

我帮你把这三个正则转换逻辑整合到一个Sublime Text代码片段里,这样输入任意路由器接口名称就能一次性完成所有要求的转换了。

完整代码片段

先创建一个新的代码片段(通过Tools -> Developer -> New Snippet),然后粘贴以下内容:

<snippet>
    <content><![CDATA[
IS-${${${310/(ae)/\U$1/g}/^\w{2}-//g}/\//_/g}-BUSINESS
]]></content>
    <tabTrigger>intbus</tabTrigger>
    <scope>text.plain</scope>
    <description>生成业务接口ID(从路由器接口名转换)</description>
</snippet>

逻辑拆解

这个片段用了嵌套正则替换来按顺序完成你的三个需求:

  • 最内层替换:${310/(ae)/\U$1/g} —— 把输入接口名里的小写ae转换成大写AE,确保特殊接口类型的格式正确
  • 中间层替换:${.../^\w{2}-//g} —— 移除开头的两位字母前缀(比如ge-、xe-、fe-这类),只保留后面的数字部分
  • 最外层替换:${.../\//_/g} —— 把所有斜杠/替换成下划线_,符合最终的格式要求

自定义调整

  • 你可以修改<tabTrigger>里的内容,比如改成ifacebus,这样输入这个关键词按Tab就能触发片段
  • 如果是在特定配置文件(比如Juniper、Cisco的配置文件)里使用,把<scope>改成对应文件的作用域,比如source.junos,这样只有在该类型文件中才会触发这个片段

测试案例

测试几个不同类型的接口输入,结果都符合预期:

  • 输入 ge-1/2/21 → 输出 IS-1_2_21-BUSINESS
  • 输入 ae0/1/2 → 输出 IS-AE0_1_2-BUSINESS
  • 输入 xe-0/0/0 → 输出 IS-0_0_0-BUSINESS
  • 输入 fe-3/1/15 → 输出 IS-3_1_15-BUSINESS

内容的提问来源于stack exchange,提问作者A.D usa

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:06:56