【问题标题】:How to replace -a- with <a> where a can be anything [closed]如何用 <a> 替换 -a- ,其中 a 可以是任何东西 [关闭]
【发布时间】:2016-02-11 13:42:22
【问题描述】:

在 JS 中,我想用 &lt;a&gt;-b- 替换 -a-,用 &lt;b&gt;-c- 替换 &lt;c&gt; 等等......所以正则表达式会是这样的:

-(variable)-

应替换为:

<(variable)>

如何在 JS 中实现这一点?

【问题讨论】:

  • 你有什么尝试吗?
  • - a - 怎么样? 1 - 2 = -2 呢?
  • 先尝试,然后编辑您的问题以添加您的代码,以便我们为您提供帮助
  • 是的,但我找不到解决方案。也许我没有使用正确的搜索标签,但我希望stackoverflow的人知道答案
  • 如果您尝试过任何事情,看看您的代码可能会帮助我们进一步了解您想要实现的目标,而不是像这样简单的解释所能提供的帮助。此外,本网站不适合我们为您编写代码,请记住这一点。

标签: javascript regex


【解决方案1】:

您正在寻找一个捕获组,然后您可以将其用作替代:

"-a-".replace(/-(.)-/g, "<$1>"); // <a>

在那里,() 定义了捕获组,. 里面的意思是“这里的任何一个字符”(根据需要调整,可能是.+),在替换字符串中,$1表示“第一个捕获组的值”。

【讨论】:

  • myregextester.comregexe.com 不起作用我是不是做错了什么?
  • 以上工作,所以......大概,是的。
  • 我忘记删除 //g ,它工作正常!
  • .* => .+。我猜 OP 不希望 -- 被替换为 &lt;&gt;
  • @Tushar: :-) 我敢说你是对的......
猜你喜欢
  • 1970-01-01
  • 2018-05-31
  • 1970-01-01
  • 2012-03-15
  • 1970-01-01
  • 2011-10-26
  • 2015-10-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多