簡體   English   中英

如何在兩個其他字符串之間獲取多個字符串

[英]How to get multiple strings between two other strings

我試圖找到{{}}之間以$開頭的所有值,后跟[\\w.]+但不以數字開頭。 這適用於獲取值,但是,它只獲取最后一項。 我正在尋找的是這些項目的列表,因此在此示例中,我希望我的數組包含(基於示例):

['{{I\'m $name and I am $age years old}}', '$name', '$age']

執行時, $name不包含在此數組中,如下所示:

 let result = '$welcome: {{I\\'m $name and I am $age years old}}'.match(/\\{\\{.*(\\$(?!\\d|\\.)[\\w.]+).*\\}\\}/) console.log(result)

你可以試試下面的正則表達式:

\$[.\w]+(?=[^{}]*})

現場演示

這在{{}}之間並不真正匹配,但它保證它不會找到大括號之外的匹配項。 它假設輸入字符串中不會出現單個不平衡的大括號。

另一種方法是匹配整個{{...}}塊然后查找\\$[\\w.]+但如果您需要在原始輸入字符串中替換它們,這將不是一個簡單的選擇。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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