JavaScript regex - как получить текст между фигурными скобками
мне нужно получить текст (если есть) между фигурными скобками. Я нашел этот другой пост, но технически на него не ответили правильно: регулярное выражение для извлечения текста между квадратными или фигурными скобками
на самом деле он не сказал, как на самом деле извлечь текст. Итак, я зашел так далеко:
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 ответов
извлечь все вхождения в фигурные скобки, вы можете сделать что-то вроде этого:
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"]
создать "группу захвата", чтобы указать текст, который вы хотите. Используйте строку.функция replace () для замены всей строки только обратной ссылкой на группу захвата. Вы остаетесь с текстом, который хотите.