我正在使用PHP,並試圖拆分所有的-
(減號)和+
(加號)符號之間的字符串:3x^3 - 4x^2 + 2x - 3 + 5x^5 - 2x^7
。我嘗試過使用explode(),但這隻能接受一個條件(只有-
或+
,不是兩者)。拆分串有兩個條件:「+」和「 - 」並保留標誌
我已經看了看preg_split()功能,並使用"/+|-/"
作爲首要條件的正則表達式都試過了,但它不工作,因爲+
不作爲字符「+」對待,而是作爲對正則表達式運算符。如何使用正確的正則表達式將-
和+
之間的字符串分開?
更新:Sahil古拉蒂,感謝您的迴應。你發佈的正則表達式完美工作。但是,在閱讀symcbean的評論後,我意識到我也需要保持標誌。我怎麼做到這一點?
'〜[+ - ]〜'< - 使用該正則表達式 – zerkms
雖然是很容易分裂的多個字符,如果您的目的是解析一個表達式,那麼'+'和' - '之間會有很多不同,而拆分操作*會刪除這些字符。此外,如果您試圖解析算術表達式,那麼在開始在+和 - 上開始分割字符串之前,您將必須弄清楚如何處理優先級。也許如果你解釋了你試圖解決的根本問題,我們可以提供更好的建議。 – symcbean