我对正则表达式很陌生。 我试图解析字符串中花括号内的所有内容。 我参考了这篇帖子,并按照其中一条回答的建议进行操作,但结果出乎意料。
以下是我的操作步骤:
var abc = "test/abcd{string1}test{string2}test" //any string
var regex = /{(.+?)}/
regex.exec(abc) // i got ["{string1}", "string1"]
//where i am expecting ["string1", "string2"]
我觉得我漏掉了什么,我做错了什么吗?
更新
我使用/g
进行全局搜索就可以了。
var regex = /{(.*?)}/g
abc.match(regex) //gives ["{string1}", "{string2}"]
如何在不使用括号的情况下获取字符串?
/[^{}]+(?=})/g
- Kash[
或]
,请对它们进行转义。[\[\]]
是一个只包含方括号的字符集。 - Mike Samuel/[\[\]]+/.exec('a[[]]b')[0] === '[[]]'
是正确的。 - Mike Samuel