簡體   English   中英

如何匹配除指定字符和字符串之外的所有內容? 正則表達式

[英]How to match everything except specified characters and strings? Regex

我正在構建一個圖形抽屜,目前正在使用數學表達式解析器。 我已經完成了大部分工作,但是在解析輸入文本之前我一直堅持清除輸入文本。 我現在想要實現的是擺脫不被允許的字符。

例如,在此文本中:

5ax + 4asxxv + sdflog10aloga(132 * 43)sin(132)

我想匹配不是+-*/ ^( )lnlogsincostancotarcsinarccos ,...等所有內容,並將其替換為""

這樣的輸出是

5x + 4xx + log10log(132 * 43)sin(132)

我需要有關正則表達式的幫助。

空間無所謂,因為我事先已將其清除。

有點棘手-至少我想不出一種簡單的方法來完成您的要求。 正則表達式會變得可怕。

所以我反過來做了-匹配您想要保留的內容,然后放回原處。

正則表達式:

[\d+*/^()x-]|ln|log|(?:arc)?(?:sin|cos)|tan|cot

編碼:

 var re = /[\\d+*/^()x-]|ln|log|(?:arc)?(?:sin|cos)|tan|cot/g, text = '5ax+4asxxv+sdflog10aloga(132*43)sin(132)arccos(1)'; console.log(text.match(re).join('')); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM