我希望使用M
April
示例文字:
dddd yy a M 5月5日月亮MMMM 56 MM M
预期结果:
dddd yy a April 5月5日Mars SUM MMMM 56 MM 4月
我真的想忽略替换 :
M
是May
和Mars
M
介于某些M
赞:MMMM
或MM
或MMM
M
已结束SUM
我尝试了以下代码,但不排除替换中的特殊字词:
text.replace(/[^May|Mars|MMMM|MM|MMM|SUM]M/g,"April")
// Incorrect result>> dddd yy aM5AprilayAprilay SUMAprilMMM 56AprilMApril
答案 0 :(得分:4)
一种简单的方法是首先匹配所有不需要的部分:
var text = 'dddd yy aM5 May May SUM MMMM 56 MM M';
console.log(text.replace(/\bM(?:a(?:y|rs)|M+)|SUM|(M)/g, function(match, p1) {
return p1 ? 'April' : match;
}));