簡體   English   中英

Javascript正則表達式 - 如何在大括號之間獲取文本

[英]Javascript regex - how to get text between curly brackets

我需要在大括號之間獲取文本(如果有的話)。 我確實找到了這個其他帖子,但從技術上講,它沒有正確回答: 正則表達式提取方形或大括號之間的文本

它實際上沒有說明如何實際提取文本。 所以我到目前為止:

var cleanStr = "Some random {stuff} here";
var checkSep = "\{.*?\}"; 
if (cleanStr.search(checkSep)==-1) { //if match failed
  alert("nothing found between brackets");
} else {
  alert("something found between brackets");
}

然后我如何從字符串中提取“東西”? 而且如果我進一步考慮,我如何從這個字符串中提取'stuff'和'sentence':

var cleanStr2 = "Some random {stuff} in this {sentence}";

干杯!

要提取大括號之間的所有匹配項,您可以這樣做:

function getWordsBetweenCurlies(str) {
  var results = [], re = /{([^}]+)}/g, text;

  while(text = re.exec(str)) {
    results.push(text[1]);
  }
  return results;
}

getWordsBetweenCurlies("Some random {stuff} in this {sentence}");
// returns ["stuff", "sentence"]

創建“捕獲組”以指示所需的文本。 使用String.replace()函數僅使用捕獲組的后引用替換整個字符串。 你留下了你想要的文字。

暫無
暫無

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

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