Le code est le suivant, le but est de remplacer la chaîne d'émoticône par une image
EmojiParser.parse('哈哈哈哈哈(normal)哈哈哈(surprise)');
De cette façon, seul le premier (normal) peut être remplacé, mais le second ne peut pas être remplacé. Comment le modifier ?
export default class EmojiParser {
static emojiSeries =[{
id: 101,
name: 'normal'
}, {
id: 102,
name: 'surprise'
}];
static parse(content) {
return content.replace(/(\(.*\))/, (match) => {
let replaceStr = '';
for (const series of EmojiParser.emojiSeries) {
if (match === `(${series.name})`) {
replaceStr += `<img width="28" height="28" src="https://source.pixiv.net/common/images/emoji/${series.id}.png" />`;
}
}
return replaceStr === '' ? match : replaceStr
});
}
}
/((.*))/
换成/((.*))/g
即可。g
signifie remplacement global global.