Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript正则表达式当字母是某些特殊单词的开始/结束/中间时,如何排除字母替换?_Javascript_Regex - Fatal编程技术网

JavaScript正则表达式当字母是某些特殊单词的开始/结束/中间时,如何排除字母替换?

JavaScript正则表达式当字母是某些特殊单词的开始/结束/中间时,如何排除字母替换?,javascript,regex,Javascript,Regex,我想将以下文本中的M替换为April 示例文本: dddd-yy aM5可和MM/56 MMM 预期结果: dddd yy a四月五月五日火星总和毫米56毫米四月 我真的想忽略在时重新植入: M是May和Mars M介于一些M之间,例如:MMMM或MM或MMM M是SUM 我尝试了以下代码,但它不排除替换中的特殊单词: text.replace(/[^May|Mars|MMMM|MM|MMM|SUM]M/g,"April") // Incorrect result>>

我想将以下文本中的
M
替换为
April

示例文本:

dddd-yy aM5可和MM/56 MMM

预期结果:

dddd yy a四月五月五日火星总和毫米56毫米四月


我真的想忽略时重新植入

  • 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

一个简单的方法是首先匹配所有不需要的部件:

var text='dddddd-yy-aM5可能和MMMM-56 MM-M';
console.log(text.replace(/\bM(?:a(?:y | rs)| M+)| SUM |(M)/g,函数(匹配,p1){
返回p1?'April':匹配;

}));一个简单的方法是首先匹配所有不需要的部分:

var text='dddddd-yy-aM5可能和MMMM-56 MM-M';
console.log(text.replace(/\bM(?:a(?:y | rs)| M+)| SUM |(M)/g,函数(匹配,p1){
返回p1?'April':匹配;

}));
您需要阅读一篇教程,其中阐述了regexp中
[]
的含义。它与排除这样的单词无关,你想做的事情需要一个负面的查找,但是Javascript没有这个功能。阅读解决方法。您需要阅读一篇教程,其中阐述了在regexp中
[]
的含义。它与排除这样的单词无关,你想做的事情需要一个负面的查找,但是Javascript没有这个功能。阅读了解解决方法。