【发布时间】:2018-10-18 04:48:21
【问题描述】:
我想要一个与字符 & 匹配的 JavaScript 正则表达式,前提是它恰好出现一次,后跟一个字母数字字符。
例子:
-
&De&&let&&&e A&ll→ 应该只匹配&D和&l -
Hum&&an&s→ 应该只匹配&s
这是我想出的,但不太正确:
(?:[^\&]|^)\&([a-zA-Z0-9])
var strings = `&De&&let&&&e A&ll
Hum&&an&s`
console.log(
strings.match(/(?:[^\&]|^)\&([a-zA-Z0-9])/g)
)
【问题讨论】:
-
最终目标是什么? Replace the matches with something else? 你的正则表达式看起来很好,你可以把
([a-zA-Z0-9])变成(?=[a-zA-Z0-9])前瞻。 -
我给你做了一个sn-p。请更新预期的输出应该是什么
-
你的代码没问题。您只需将第一个组添加到捕获组,然后在调用 replace 方法时将它们包含在内。
-
是的,
$1是存储在组 1 中的值的替换反向引用(或占位符)。
标签: javascript regex typescript