【发布时间】:2015-11-08 16:01:03
【问题描述】:
给定这样的字符串+as[23+"AS@D"-@],将[ 和] 之间的所有@ 实例替换为[ 之后的数字(在本例中为:23)。请使用 JavaScript 回答(建议使用.replace())。所以使用这个算法,+as[23+"AS@D"-@]会变成+as[23+"AS23D"-23]
这是我的正则表达式 \[(\d+)[^\]]*(\@*)\] 第二个捕获组未捕获(Regexr 告诉我在第二个捕获组中没有捕获任何内容)。我需要帮助让第二个捕获组捕获@的所有实例
我曾尝试使用Mozilla Developer 寻求帮助,但没有奏效。任何帮助将不胜感激。答案必须有解释。
如果这个问题不够清楚,请在 cmets 中告诉我如何改进。
【问题讨论】:
-
我投票结束这个问题,因为 stackoverflow 不是代码编写服务。
-
@melpomene 我已经编辑了我的问题以向您展示我的工作。
-
为什么认为第二个捕获组“没有被捕获”? (那是什么意思?)
-
@melpomene 我认为我的正则表达式有错误。如果正则表达式有效,那么我的问题就解决了。
-
您应该将其拆分为 2 个操作:1. 获取一个数字,2. 将所有 '@' 替换为一个数字。
标签: javascript regex capturing-group