Regex 用于排除字符串开头的单词的正则表达式
我试图创建一个正则表达式来排除突出显示的字符串的第一部分(要排除单词WASH HANDLING PLANT)Regex 用于排除字符串开头的单词的正则表达式,regex,Regex,我试图创建一个正则表达式来排除突出显示的字符串的第一部分(要排除单词WASH HANDLING PLANT) 清洗处理设备产品输送机尾部防护装置 运行正则表达式时,结果是: 装卸设备产品输送机尾部防护装置 有人能告诉我如何让正则表达式工作吗 多谢各位 var re = new RegExp(/\b(?!WASH\sHANDLING\s[A-z ]{1,3})\b[-A-z0-9 ]{2,90}/); 如果字面上的“清洗处理设备”需要删除,那么这个正则表达式将提供匹配 /^(WASH HANDL
清洗处理设备
产品输送机尾部防护装置
运行正则表达式时,结果是:
装卸设备产品输送机尾部防护装置
有人能告诉我如何让正则表达式工作吗
多谢各位
var re = new RegExp(/\b(?!WASH\sHANDLING\s[A-z ]{1,3})\b[-A-z0-9 ]{2,90}/);
如果字面上的“清洗处理设备”需要删除,那么这个正则表达式将提供匹配
/^(WASH HANDLING PLANT)/
要删除这些单词,请使用如下Javascript示例中的字符串替换函数
mystring.replace(/^(WASH HANDLING PLANT)/, "");
如果它更复杂,你需要删除前三个字,那么这应该适合你
/^(\w+\s){3}/
再次用Javascript替换
mystring.replace(/^(\w+\s){3}/, "");
为了解释第二个故事中发生了什么
^
匹配字符串的开头。()
表示要匹配的单词或字符组(我们这里只匹配一组),\w
匹配任何单词,\s
匹配空白。我们用{3}
重复这三次,字符串是否有固定格式?尝试if(s.slice(0,19)=“清洗处理设备”){console.log(s.slice(20));}
。或者PLANT
可以是任何单词,并且WASH HANDLING
是“硬编码”的吗?然后尝试/^WASH\s+HANDLING\s+\w+\s*([\s\s]*)/.exec[1]
。您能澄清一下要求吗?第一部分具体包括什么?如果是任意三个单词,input.replace(/^(\w+\s+{3}/,“”)
将完成此任务。如果它确实是“清洗处理设备”
,那么正则表达式就更简单了。小心,[A-z]
与您的想法不符。使用带有/i
修改器的[A-Za-z]
或[A-z]
。第一次更换将从产品输送机尾部防护清洗处理设备的末端剥离清洗处理设备
,这打破了“排除字符串的第一部分”要求。