gpt4 book ai didi

JavaScript Regex 仅当字符仅出现后跟字母数字字符时才匹配

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

我想要一个匹配字符 & 的 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)
)

最佳答案

您可以将第一组变成 capturing group这样您就可以使用 $1 占位符(也称为 replacement backreference )恢复替换字符串中的值。以类似的方式,您可以将捕获的字母数字字符恢复到另一个组中。

下面是在您定义的上下文中用 # 替换 & 的示例:

var strs = ['&De&&let&&&e A&ll', 'Hum&&an&s'];
var rx = /(^|[^&])&([A-Z0-9])/gi;
for (var s of strs) {
console.log(s.replace(rx, "$1#$2"));
}

关于JavaScript Regex 仅当字符仅出现后跟字母数字字符时才匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50230136/

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