[英]Sublime text snippets substitutions with 3 regex replacements
我正在嘗試制作一個片段,該片段將根據一個變量(路由器接口名稱)的輸入執行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
因此,如果我輸入正常的路由器接口,例如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>
總體結構為${variable/regex/format_string/options}
。 正則表達式使用Boost庫正則表達式 ,格式字符串使用Boost庫格式字符串(有關更多信息,請參見非官方文檔中的 摘錄頁面)。
Boost格式的字符串支持(?Ntrue:false)
形式的有條件替換,其中對於捕獲組N
,如果匹配項捕獲了任何內容,則替換為文本true
否則為false
。
這里捕獲(或不捕獲)正則表達式中的每個可能的替換,並且替換指定匹配的組應擴展到的內容。 請注意,在執行類似操作時,您可能需要了解不同可能匹配項之間的相互作用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.