Javascript 两个字符串之间的Nodejs readFileSync regex标记

Javascript 两个字符串之间的Nodejs readFileSync regex标记,javascript,node.js,regex,fs,string-matching,Javascript,Node.js,Regex,Fs,String Matching,我正试图借助nodejsfs.readFileSync()函数将文件内容提取到如下字符串中: let fileData = fs.readFileSync('./path, 'utf8'); <route-meta> { "requiresAuth": true } </route-meta> <template> </template> <script> export default {

我正试图借助
nodejs
fs.readFileSync()
函数将文件内容提取到如下字符串中:

let fileData = fs.readFileSync('./path, 'utf8');
<route-meta>
    {
        "requiresAuth": true
    }
</route-meta>

<template>

</template>

<script>
    export default {
        name: "check"
    }
</script>

<style scoped>

</style>
在此之后,我想通过
regex
获取两个字符串之间的内容:

我有一个类似这样的字符串:

let fileData = fs.readFileSync('./path, 'utf8');
<route-meta>
    {
        "requiresAuth": true
    }
</route-meta>

<template>

</template>

<script>
    export default {
        name: "check"
    }
</script>

<style scoped>

</style>
我试着用
fileData.match(/(.*)/)来实现这一点但不知怎的,它给了我
null
结果

我遵循了这个例子:

我还尝试检查
fileData.replace('route-meta','')
但是它仍然没有给我想要的结果,我的意思是我无法对
fileData
执行任何字符串操作


请告诉我哪里出错。

请不要使用正则表达式进行XML解析

但是要回答你的问题,你可以试试这个

let re = /<route-meta>[\s\S]*?<\/route-meta>/
let re1 = /<(\/*)route-meta>/gi
let newstr = fileData.match(re)[0].replace(re1,"")
console.log(newstr)
let re=/[\s\s]*/
设re1=//gi
让newstr=fileData.match(re)[0]。替换(re1,”)
console.log(newstr)
re
使用
match

查找包含内容的整套标记
re1
使用
replace

@PatrickRoberts Hey Patrick我正在执行
fs.readFileSync()
将文件数据提取到字符串中,这仍然是您提到的问题吗?