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()
将文件数据提取到字符串中,这仍然是您提到的问题吗?