Как я могу удалять префиксы из ника пользователя?

Всем привет! Не могу додуматься как удалять дополнительно префиксы в нике пользователя на сервере "сдох" и "зр. ". На данный момент после использования команды, БОТ стирает только префикс-цифры "01. ", "02. " и тд. хочу чтобы вместе с этим он удалял префиксы "сдох" и "зр."

const {asyncGetMafiaMembersIds, shuffle, wait, checkRights, getMafiaPlayerRoleName, randomDelay, asyncForEach, getMafiaMembersIds, getMafiaPlayerByPrefix, delay, random1} = require("../events/util");

module.exports = async (client, message) => {
  let rights = await checkRights(message);
  if (!rights) {return;}
  if(!message.member.voiceChannel) {
    await message.channel.send("Зайди в голосовой канал игры!");
    return;
  }
  let channelMembers = message.member.voiceChannel.members.map(m=>m);
  let messageToSend = "";
  await asyncForEach(channelMembers, async (member, num)=>{
    // console.log("после чистки", member.displayName);
    let oldName = member.displayName;
    let regexObj = /(0|1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)\.\ /;
    if (regexObj.test(oldName.substr(0, 4))) {
      oldName = oldName.slice(4);
    }
    let regexObj2 = /(0|1|2|3|4|5|6|7|8|9)\.\ /;
    if (regexObj.test(oldName.substr(0, 3))) {
      oldName = oldName.slice(3);
    }
    
    let newName = "";
    newName = oldName;
    if (newName !== member.displayName) {
      await member.setNickname(newName).catch(e=>{messageToSend += `*Недостаточно прав для переименования ${member.displayName}*
`});
    }
  });
  await message.channel.send("Номера-префиксы стерты");
};

Ответы (1 шт):

Автор решения: ksa

Оно?

const re = /^(\d+\.|сдох|зр\.)/
console.log('5.Вася'.replace(re, ''))
console.log('06.Вася'.replace(re, ''))
console.log('сдохПетя'.replace(re, ''))
console.log('зр.Коля'.replace(re, ''))

→ Ссылка