一个正则匹配的面试题
题目描述
抽取 markdown 中的关键字符串 :::demo 和 ::: 里面的内容,返回匹配到的数组
// demo.md
# demo
::: demo
<template>
<div class="box-vuea">Vue {{ message2 }}</div>
</template>
<script>
export default {
data: () => ({ message2: 'Hello World 2' })
}
</script>
<style>
.box-vuea { color: blue; }
</style>
:::
::: demo
<template>
<div class="box-vuea">Vue {{ message2 }}</div>
</template>
<script>
export default {
data: () => ({ message2: 'Hello World 2' })
}
</script>
<style>
.box-vuea { color: blue; }
</style>
:::
题目来源及自己的思路
我写了两个都不适合,不知道哪里错了
/::: demo[^(:::)]*:::/g
返回 null
/::: demo[\s\S]*:::/g
返回了整个大段 '::: demo (片段1) ::: (...) ::: demo (片段2) :::'
你期待的结果是什么?实际看到的错误信息又是什么?
我想要返回:
[
'::: demo (片段1) ::: ',
'::: demo (片段2) ::: '
]
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
![扫码二维码加入Web技术交流群](/public/img/jiaqun_03.jpg)
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
点击查看
这样用就行了:
了解一下用法:https://developer.mozilla.org...
![clipboard.png clipboard.png](/img/bVbp5c0?w=778&h=395)