JS正则表达式仅适用于第一个字母,但如果单词只有两个字母,则保持两个字母和数字不变



美好的一天,

有没有办法拥有一个像这样工作的正则表达式:

说这个词是,79香蕉AK

我希望结果是 79BAK

所以柠檬 99 B3 将是 L99B3

我一直在玩,并设法实现了一个正则表达式,它可以获取第一个字母并保持数字的完整长度,但我无法弄清楚如何维护两个字母的单词......

这是我目前拥有的正则表达式:let initials = title.match(/b([a-zA-Z]|d+)/g);

我希望这是有道理的!感谢您的帮助。

您可以将此replaceAll与 3 种交替一起使用:

str = str.replace(/b(d+b|w{2}b|w)w*b */g, "$1");

法典:

var arr = ['79 Banana AK', 'Lemon 99 B3']
var re = /b(d+b|w{2}b|w)w*b */g
arr.forEach(function(str) {
  console.log(str.replace(re, "$1"))
})

正则表达式演示

我们首先匹配单词边界,然后查找所有数字或仅查找 2 个字符的单词,或者只查找单词的第一个字符。

相关内容

最新更新