簡體   English   中英

Javascript正則表達式提取變量

[英]Javascript regex to extract variables

我在Javascript中有一個字符串,其中包含格式${var-name}變量。 例如:

'This is a string with ${var1} and ${var2}'

我需要在數組中獲取這些變量: ['var1','var2']

正則表達式可能嗎?

嘗試一下:

/\$\{(\w+?)\}/

運行示例,非常感謝@RGraham:

var regex = new RegExp(/\$\{(\w+?)\}/g),
    text = "This is a string with ${var1} and ${var2} and {var3}",
    result,
    out = [];
while(result = regex.exec(text)) {
    out.push(result[1]);
}
console.log(out);

正則表達式 - \\${([^\\s}]+)(?=}) -應該可以正常工作。

說明:

  • \\${ -匹配文字${
  • ([^\\s}]+) -一個捕獲組,將匹配一個或多個非空格或文字}字符。
  • (?=}) -積極的前瞻性,它將檢查我們是否最終匹配了文字}

這是示例代碼:

 var re = /\\${([^\\s}]+)(?=})/g; var str = 'This is a string with ${var1} and ${var2} and {var3}'; var arr = []; while ((m = re.exec(str)) !== null) { arr.push(m[1]); } alert(arr); 

var str = 'This is a string with ${var1} and ${var2}';

var re = /\$\{(\w+?)\}/g;
var arr = [];
var match;
while (match = re.exec(str)) {
  arr.push(match[1]);
}

console.log(arr);

暫無
暫無

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

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