Получение содержимого между фигурными скобками в регулярных выражениях javascript - PullRequest
6 голосов
/ 02 апреля 2011

Я пытаюсь получить содержимое между фигурными скобками с помощью JavaScript, я нашел эту тему:

Regex для получения строки между фигурными скобками "{Я хочу, что между фигурными скобками}"

Но я не знаю, как применить регулярное выражение типа '/ {([^}] +)} /'

Я пробовал string.replace ('/ {([^}] +)} /', '');

Однако это не работает.

Ответы [ 4 ]

26 голосов
/ 02 апреля 2011

Вот пример использования:

var found = [],          // an array to collect the strings that are found
    rxp = /{([^}]+)}/g,
    str = "a {string} with {curly} braces",
    curMatch;

while( curMatch = rxp.exec( str ) ) {
    found.push( curMatch[1] );
}

console.log( found );    // ["string", "curly"]
3 голосов
/ 30 мая 2017

Попробуйте это

/[^{\}]+(?=})/g

, например

Добро пожаловать в RegExr v2.1 от {gskinner.com}, {ssd.sd}, организованного Media Temple!

будет возвращено «gskinner.com», «ssd.sd»

3 голосов
/ 02 апреля 2011

Как это?

var x="omg {wtf} bbq";

alert(x.match(/{([^}]+)}/));
1 голос
/ 02 апреля 2011
"{I want what's between the curly braces}".replace(/{(.*)}/, "$1");

это должно сработать, ура.

Примечание: в скобках вы "получите все", даже если это пустая строка.

Обновлено: Если вы собираетесь сопоставить первый символ, который находится в середине строки, используйте «match»:

"how are you {I want what's between the curly braces} words".match(/{(.*)}/)[1];

Вы можете просто сделать:

console.log("how are you {I want what's between the curly braces} words".match(/{(.*)}/));

тогда вы увидите список предметов для матча, используйте их по своему усмотрению.

Подробная информация о Gory: http://www.w3schools.com/jsref/jsref_obj_regexp.asp

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...