如何在 3 个重音符之间匹配降价块代码
how to match markdown block code between 3 grave accent
- 我知道这是一个常见问题,但我搜索了很多但没有找到我需要的
- 我正在尝试创建简单的降价插件,但我无法匹配块代码我试过这个正则表达式
/(^\`{3}[\w|\W]+\`{3})/gm
但它让我了解第一个和最后一个重音之间的所有内容,如果有另一个块代码,它会将它们全部添加到一个
- 例如下面的字符串
```
block code
word1
word2
```
word without grave accent and it is will match it too
```
another block code
word1
word2
- it's will match it as part of the first block code
```
"""
some text after the grave accent text
word1
word2
"""`
- 此正则表达式结果类似于以下数组
0: "``` \nblock code\nword1\nword2\n```\n\nword without grave accent and it's will match it too\n\n```\nanother block code\nword1\nword2\n- it's will match it as part of the first block code\n```"
length: 1
- 我希望它像这样匹配
0: "``` \nblock code\nword1\nword2\n```"
1: "```\nanother block code\nword1\nword2\n- it's will match it as part of the first block code\n```"
length: 2
- 我不太擅长正则表达式,所以我希望有人能帮助我
您需要懒惰地匹配您的 +
量词:(\`{3}[\w|\W]+?\`{3})
+?
将尝试用尽可能少的字符匹配一次或多次,确保它不会贪婪地占用 \`{3}
之间的所有内容。量词默认是贪心的。
这里有一些 more reading 懒惰与贪婪的对比。
- 我知道这是一个常见问题,但我搜索了很多但没有找到我需要的
- 我正在尝试创建简单的降价插件,但我无法匹配块代码我试过这个正则表达式
/(^\`{3}[\w|\W]+\`{3})/gm
但它让我了解第一个和最后一个重音之间的所有内容,如果有另一个块代码,它会将它们全部添加到一个 - 例如下面的字符串
```
block code
word1
word2
```
word without grave accent and it is will match it too
```
another block code
word1
word2
- it's will match it as part of the first block code
```
"""
some text after the grave accent text
word1
word2
"""`
- 此正则表达式结果类似于以下数组
0: "``` \nblock code\nword1\nword2\n```\n\nword without grave accent and it's will match it too\n\n```\nanother block code\nword1\nword2\n- it's will match it as part of the first block code\n```"
length: 1
- 我希望它像这样匹配
0: "``` \nblock code\nword1\nword2\n```"
1: "```\nanother block code\nword1\nword2\n- it's will match it as part of the first block code\n```"
length: 2
- 我不太擅长正则表达式,所以我希望有人能帮助我
您需要懒惰地匹配您的 +
量词:(\`{3}[\w|\W]+?\`{3})
+?
将尝试用尽可能少的字符匹配一次或多次,确保它不会贪婪地占用 \`{3}
之间的所有内容。量词默认是贪心的。
这里有一些 more reading 懒惰与贪婪的对比。