Регулярное выражение Javascript - как получить текст в фигурных скобках - PullRequest
6 голосов
/ 28 июля 2010

Мне нужно получить текст (если есть) в фигурных скобках.Я нашел этот другой пост, но технически на него не ответили правильно: Регулярное выражение для извлечения текста между квадратными или фигурными скобками

На самом деле не сказано, как на самом деле извлечь текст,Итак, я получил это далеко:

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");
}

Как мне затем извлечь «материал» из строки?А также, если я продолжу это, как мне извлечь «материал» и «предложение» из этой строки:

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

Приветствия!

Ответы [ 2 ]

19 голосов
/ 28 июля 2010

Чтобы извлечь все вхождения между фигурными скобками, вы можете сделать что-то вроде этого:

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"]
0 голосов
/ 28 июля 2010

Создайте «группу захвата», чтобы указать нужный текст. Используйте функцию String.replace (), чтобы заменить всю строку только обратной ссылкой на группу захвата. Вы остались с текстом, который вы хотите.

...