non-capture group still showing in match

后端 未结 2 1418
夕颜
夕颜 2020-12-16 10:27

I know this topic has been thoroughly covered on StackOverflow, but I can\'t for the life of me get my regular expression to work. So without further repetitive ado ...

2条回答
  •  情深已故
    2020-12-16 10:40

    The entire match will always be group 0, you need to access that specific group (group 1 in this case since the first group is non-capture), you can do it like this:

    var str = "

    "; var regex = /(?:model=')(.*)(?:')/g var match = regex.exec(str); alert(match[1]); // cat

    Fiddle

    Also, I suppose you are probably wanting several matches within str, you could do that like this:

    var str = "

    "; var regex = /(?:model=')([^']*)/g var matches = []; var match; while (match = regex.exec(str)) { matches.push(match[1]); } alert(matches); // cat,dog,horse

    Fiddle

提交回复
热议问题