开发者

Getting content between curly braces in JavaScript with regex

I am trying to get content between curly braces with JavaScript. I found this thread: Regex to get string between curly braces "{I want what's between the curly braces}"

开发者_如何学JAVA

But I do not know how to apply a regex like /\{([^}]+)\}/

I have tried string.replace('/\{([^}]+)\}/','');, however this does not work.


Here's an example of use:

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"]


Try this

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

for example

Welcome to RegExr v2.1 by {gskinner.com}, {ssd.sd} hosted by Media Temple!

it will return 'gskinner.com', 'ssd.sd'


Like this?

var x="omg {wtf} bbq";

alert(x.match(/{([^}]+)}/));


"{I want what's between the curly braces}".replace(/{(.*)}/, "$1");

this should work, cheers.

Note: you'll "get everything" in the braces, even if it's an empty string.

Updated: If you are going to match the first character which in the middle of a string, use "match":

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

You can just do:

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

then you'll see a list of the match items, exploit them to whatever you want.

Gory details: http://www.w3schools.com/jsref/jsref_obj_regexp.asp


This will return an array of matching text.
the map function will return the text without {}.

const text = "Regex to get string between curly braces {I want what's between the curly braces}"
const result = text.match(/{([^}]+)}/g)
  .map(res => res.replace(/{|}/g , ''))
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜