gpt4 book ai didi

javascript - 我可以改进这个 "regex"吗?

转载 作者:行者123 更新时间:2023-11-30 11:37:51 25 4
gpt4 key购买 nike

我有以下字符串:

const myString = '"{{ some text here }}"'

我想删除 {{ 之前和 }} 之后的引号。我能做到:

myString.replace('"{{', '{{').replace('}}"', '}}')

但我想知道是否有更好的方法来实现这一点而无需调用 replace 两次?

谁能告诉我是否有更好的方法和解释?

http://jsbin.com/xafovamihi/edit?js,console

最佳答案

您可以将正则表达式与交替组一起使用,您可以在其中将 {{}} 分别捕获到第 1 组和第 2 组中,并仅替换为反向引用:

var myString = '"{{ some text here }}"';
console.log(myString.replace(/"({{)|(}})"/g, '$1$2'))

详细信息:

  • "({{) - 匹配 " 并将 {{ 捕获到第 1 组
  • | - 或者
  • (}})" - 将 }} 捕获到第 2 组并匹配 "

由于替换反向引用在引用未参与匹配的组时用空字符串初始化,因此此 $1$2 替换将始终正常工作。

全局修饰符 /g 将确保替换所有匹配项。

关于javascript - 我可以改进这个 "regex"吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43724119/

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