Getting content between curly braces in JavaScript with regex

后端 未结 5 1233
無奈伤痛
無奈伤痛 2020-12-09 12:44

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 bra

相关标签:
5条回答
  • 2020-12-09 12:59
    "{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

    0 讨论(0)
  • 2020-12-09 13:05

    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"]
    
    0 讨论(0)
  • 2020-12-09 13:10

    Like this?

    var x="omg {wtf} bbq";
    
    alert(x.match(/{([^}]+)}/));
    
    0 讨论(0)
  • 2020-12-09 13:12

    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'

    0 讨论(0)
  • 2020-12-09 13:16

    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 讨论(0)
提交回复
热议问题