来个正则大佬看下这个字符串匹配?

RT

var str = `
<template>
  {{hi}}
  <el-button type="primary" @click="showMsg">主要按钮1</el-button>  
</template>


<script>
export default {
  data(){
    return {
      hi:'666'
    }
  },
  mounted(){
    console.log('mounted')
  },
  methods:{
    showMsg(){
      console.log('this',)
      this.$Router.push('/v-edit')
    }
  }
}
</script>`

我想匹配出下面的字符串

{
  data(){
    return {
      hi:'666'
    }
  },
  mounted(){
    console.log('mounted')
  },
  methods:{
    showMsg(){
      console.log('this',)
      this.$Router.push('/v-edit')
    }
  }
}

求个大佬啊~

阅读 1.3k
2 个回答

利用缩进的正则写法

str.match(/^<script>.*?^(\s*)export default ({.*?^\1}).*^<\/script>/ms)?.[2]

试试这个
/(?<=default\s)({[\d\D]*?)(?=<)/g
我使用了后置断言,不保证所有的浏览器可用

@mikechen
满意的话麻烦采纳一下答案

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