簡體   English   中英

用3個正則表達式替換替換高級文本片段

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM