2017-04-19 232 views
0

我想創建一個正則表達式來排除字符串的第一部分(高亮顯示)(WASH HANDLING PLANT將被排除在外)。正則表達式用於排除字符串開頭的字

WASH HANDLING PLANTPRODUCT CONVEYOR TAIL END GUARDING

當正則表達式運行,其結果是:

HANDLING植物產品CONVEYOR尾端護衛。

任何人都可以請告訴我如何讓正則表達式工作?

謝謝。

var re = new RegExp(/\b(?!WASH\sHANDLING\s[A-z ]{1,3})\b[-A-z0-9 ]{2,90}/); 
+0

重複這三次字符串是否有固定的格式?嘗試'if(s.slice(0,19)===「WASH HANDLING PLANT」){console.log(s.slice(20)); }'。或者'PLANT'是任何單詞和'WASH HANDLING'都是「硬編碼」?然後嘗試'/^WASH\s+HANDLING\s+\w+\s*([\s\S]*)/.exec(s) [1]'。 –

+0

您能否澄清要求?第一部分究竟是什麼?如果它是三個單詞,'input.replace(/ ^(\ w + \ s +){3} /,「」)'會完成這項工作。如果它恰好是''WASH HANDLING PLANT'',那麼正則表達式更加直接。 –

+1

小心,'[A-Z]'不符合你的想法。用'/ i'修飾符使用'[A-Za-z]'或'[A-Z]'。 –

回答

0

如果它的字面意思是需要去除,然後這個表達式將提供一個匹配

/^(WASH HANDLING PLANT)/ 

要刪除的話裏話「請於操作PLANT」使用字符串替換功能,像下面的JavaScript例子.. 。

mystring.replace(/^(WASH HANDLING PLANT)/, ""); 

如果它更復雜,你需要刪除的第三個字,無論那麼這應該爲你工作...

/^(\w+\s){3}/ 

,並再次使用Javascript替換...

mystring.replace(/^(\w+\s){3}/, ""); 

要解釋什麼在第二個事情......

^匹配字符串的開始。 ()表示要匹配的單詞或字符組(我們在此僅匹配一個組),\w匹配任何單詞,並且\s匹配空格。我們用{3}

+0

第一次更換會從「PRODUCT CONVEYOR尾部防護清洗處理工廠」的末端剝離「清洗處理工廠」,從而打破「排除第一部分繩索」的要求。 –

+0

好點@DmitryEgorov。修復! –

相關問題