[英]string.replace does not work with regex
我有以下字符串dfdfd dsfsdfsdfsdf {{random.number}} dsfdsfsdfsdf {{bla}}
和簡單的代碼(可替換給定字符串中的任何{{...}}
:
const b = template.replace(/\{{(.*)\}}/g, 'aaaa');
但template.replace
卻什么也沒發生,但是正則表達式似乎與所有{{}}
都匹配
有什么想法嗎?
更新:
剛剛意識到我的輸入字符串是錯誤的。 現在我都在使用原始正則表達式了。 但是,由於有了@ Robo-Robok,現在我了解了greedy
的正則表達式,並將繼續使用他的正則表達式。
默認情況下,正則表達式是貪婪的。 您的.*
盡可能多地吃東西,其中包括第一對}}
。
嘗試以下方法:
const b = template.replace(/\{\{.*?\}\}/g, 'aaaa');
*
之后的問號?
使匹配不貪心。
還有兩件事:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.