A.D*_*usa 3 regex sublimetext3 sublimetext-snippet
我正在尝试制作一个片段,该片段将根据一个变量(路由器接口名称)的输入执行 3 件事。我已经使正则表达式正常工作,但它是单独工作的。
remove xx- >>>>> IS-${310/\w{2}-//g}-BUSINESS
replace / with _ >>>>> IS-${310/\//_/g}-BUSINESS
ae make it capital >>>>> IS-${310/(ae)/\U$1/g}-BUSINESS
Run Code Online (Sandbox Code Playgroud)
所以如果我进入一个普通的路由器接口,比如 ge-1/2/21
结果应该是 > IS-1_2_21-BUSINESS
但是如果我进入像ae31这样的界面
它应该使它成为资本 >>>> IS-AE31-BUSINESS
您的问题不包括您希望最终的代码片段是什么样子,因此这是一个简单的代码片段示例,它将所有这三个操作合并为一个,您可以根据需要进行调整。
<snippet>
<content><![CDATA[
# ${310}
IS-${310/(ae)|(?:(\w{2}-))|(?:(\/))/(?1\U$1:)(?2:)(?3:_)/g}-BUSINESS
]]></content>
<tabTrigger>test</tabTrigger>
</snippet>
Run Code Online (Sandbox Code Playgroud)
总体结构是${variable/regex/format_string/options}. 正则表达式使用Boost 库正则表达式,格式字符串使用Boost 库格式字符串(有关更多信息,请参阅非官方文档中的片段页面)。
Boost 格式字符串支持 形式的条件替换(?Ntrue:false),其中对于捕获组,替换是匹配捕获或未捕获任何内容的文本N。truefalse
这里正则表达式中的每个可能的替换都会被捕获(或不捕获),并且替换指定匹配组应扩展为什么。请注意,在执行此类操作时,您可能需要了解不同可能匹配之间的相互作用。
| 归档时间: |
|
| 查看次数: |
362 次 |
| 最近记录: |