gpt4 book ai didi

javascript - 当字符串包含方括号时正则表达式中断

转载 作者:行者123 更新时间:2023-11-29 18:15:08 27 4
gpt4 key购买 nike

我一直在使用这个正则表达式来提取大 mustache 的 {{Hello}} 内容:

/{{\s*[\w\.]+\s*}}/g

当 mustached 字符串包含方括号时,它就会下降。我已经摆弄了很长时间都无济于事,任何人都可以建议进行调整以匹配 {{Hello[0]}} 吗?

最佳答案

我是你的哈克贝利:

\{\{(.*?)\}\}

我总是使用优秀的 http://www.regexr.com/ 来解决这些问题

因此,解释为什么这适用于这种情况:

  1. 首先,考虑 \{\{ – 我们转义(通过使用反斜杠“转义”下一个字符不会被表达式计算,例如,它只是寻找那个字符)第一个我们正在寻找的字符(花括号)。
  2. 然后我们重复该操作以获得第二个大括号。
  3. 接下来我们打开一个括号 ( 来创建一个“组”来捕获多个标记——这样我们就可以捕获大括号内的所有内容。
  4. . 匹配除换行符以外的任何字符。
  5. * 匹配零个或多个前面的标记(在本例中为除换行符之外的任何标记)
  6. ? 使前面的量词变得“惰性”,因为它会匹配尽可能少的内容。
  7. 然后我们关闭群组 )
  8. 最后我们以另外两个转义字符 \}\} 结束

关于javascript - 当字符串包含方括号时正则表达式中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23916324/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com