js怎么匹配中间内容?

原文如:

json={abcded sdlsdkg,sdjwep2ofds99xz},fkewjson={abcded sdlsdkg,sdjwep2ofds99xz}
json={abcded sdlsdkg,ff}fk
json={abcded 121123}
json={abcded sdlsdkg,sdjwep2ofds99xz}ewjwjson={abcded sdlsdkg,sdjwep2ofds99xz}

用 js 怎么匹配出所有 {} 之内的内容呢?
谢谢

返回数组即可

阅读 1.8k
2 个回答
// 第一种方法
let str = 'json={abcded sdlsdkg,sdjwep2ofds99xz},fkewjson={abcded sdlsdkg,sdjwep2ofds99xz}'
let arr = [], startIndex = 0
for (let i = 0; i < str.length; i++) {
    if (str[i] === '{') {
        startIndex = i
    } else if (str[i] === '}') {
        arr.push(str.slice(startIndex + 1, i))
    }
}
console.log(arr)

// 第二种方法
let str = 'json={abcded sdlsdkg,sdjwep2ofds99xz},fkewjson={abcded sdlsdkg,sdjwep2ofds99xz}'
let arr = []
str.replace(/{(.*?)}/g, function(matchStr,groups){
    arr.push(groups)
})
console.log(arr)

如果只有一层括号可以用(?<={)[^{}]+

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏