我有以下情況模板處理,串重複{{重複5}}
輸入
var str = '{{repeat 2}} some string {{/repeat}}';
輸出
str = 'some string, some string';
輸入
var str = '{{repeat 2}}{"prop1":"some data"}{{/repeat}}';
輸出
str = '{"prop1":"some data"}, {"prop1":"some data"}';
輸入
var str = 'start of string {{repeat 2}} some string {{/repeat}} another string ';
輸出
str = 'start of string some string, some string another string';
我想做到這一點的方式
var test = "{{repeat 5}} test this string {{/repeat}}";
var arrStr = test.split(/[{{]/);
並通過循環處理arrStr
任何其他好的方法來做到這一點?如何找到在重複內重複計數和字符串的重複? 。
'/ [{{] /'相當於'/ [{] /'和'/ \ {/'。這是一個字符類,而不是一系列字符。 – Xufox
@Xufox我只想得到{{repeat – Shafeeque
這看起來像是嘗試創建自己的字符串模板引擎。第一點:你可能不想寫一個模板引擎。使用現有的,有不少好的選擇。 (「但我只需要這個小功能」不是一個可接受的反參數)第2點:您可能不想編寫基於正則表達式的模板語言解析器。這是浪費時間,它不會工作。如果你想正確地做到這一點,你需要一個標記器,一個解析器,一個編譯器等。[peg.js](https://pegjs.org/)可以幫助你。你可以這樣做,但其他人已經擁有了,請參閱第1點。 – Tomalak