Я должен получить текст (если таковые имеются) между фигурными скобками. Я действительно находил это другое сообщение, но технически ему не ответили правильно: Регулярное выражение для извлечения текста или между квадратными или между фигурными скобками
Это на самом деле не сказало, как на самом деле извлечь текст. Таким образом, я имею настолько далеко:
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}";
Удачи!
Чтобы извлечь все вхождения между фигурными скобками, вы можете сделать что-то вроде этого:
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 (), чтобы заменить всю строку только обратной ссылкой на группу захвата. У вас остался нужный текст.