微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 3 个重音符之间匹配降价块代码

如何解决如何在 3 个重音符之间匹配降价块代码

  • 我知道这是一个常见问题,但我搜索了很多但没有找到我需要的
  • 我正在尝试创建简单的降价插件,但我无法匹配块代码我尝试过这个正则表达式 /(^\`{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} 将尝试用尽可能少的字符匹配一次或多次,确保它不会贪婪地占用 {{1}} 之间的所有内容。默认情况下,量词是贪婪的。

regex101 example

这里有一些关于懒惰与贪婪的more reading

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?