0
我有一個正則表達式,我用它來匹配各種花括號對,所以我可以在開發過程中對它們進行註釋。RegEx匹配大括號和前導或尾隨Substr開始或結束引用
我正則表達式是:
/{{.+_includes\s*}}|[^>\s]*{{\s*|\s*}}[^<\s]*|{%.+%}/g
這符合我裹在#標誌子:
1. #{{ #builtin_body_classes# }}#
2. #"{{ #builtin_body_classes# }}# no-js"
3. "no-js #{{ #builtin_body_classes# }}"#
4. "no-js some-other-class #{{#builtin_body_classes#}}"#
5. #{{standard_header_includes}}#
6. #{{ standard_footer_includes }}#
7. <title>#{{ #page_meta.html_title# }}#</title>
8. #{% type_of_module "unique_module_name" parameterString='String parameter value', parmeterBoolean=True %}#
注意空格(兩個空格),鉛和跟蹤各行不匹配,也不是title
標籤的例子。
這和我想要的除了兩種情況 - 包裹在引號中的行(情況2,3和4)完全相同。
對於這些情況,我希望引導或跟蹤也包括在比賽中的花括號的引號和子字符串,例如,
2. #"{{ #builtin_body_classes# }} no-js"#
3. #"no-js {{ #builtin_body_classes# }}"#
4. #"no-js some-other-class {{#builtin_body_classes#}}"#
同樣,我裹着我想#符號之間匹配子。
非常感謝幫助實現這個目標,我敢肯定,我的正則表達式可以被優化過;-)
正則表達式部件(替代)的前提都是基於行的。它們不能跨越行,但它可以匹配許多單獨的'}}或'{{'在一行中。那是你的意圖嗎?你關心關閉嗎? – sln
感謝您的評論!我不太關心替換多對花括號。但理想情況下,只需要替換第一個「{{」和最後一個「}}」(顯然符合我在示例中的所需條件)。這有助於在開發過程中突出顯示任何錯誤 –