2017-06-02 64 views
-1

該正則表達式-?\d+ [+|-|*|/] -?\d+匹配表達式1 + 3也沒有任何問題1 + -2沒有任何問題,但我不知道它爲什麼不匹配1 - 2。你能否解釋爲什麼它不正確地匹配- char?用於算術表達式的正則表達式

通過我的正則表達式我想實現:

  • 可選 - 開頭的數字
  • 空格然後操作者則空白
  • 可選 - 前第二stringof位數
+1

逃脫' - '? – t0mm13b

回答

5

A -在角色類中間未經轉義創建一個範圍。您可以將其轉義或移動到角色類的開始或結尾。你也不需要/想要我猜的|

您當前的範圍在||之間,這並不合理。你也可以使用分組而不是字符類。

(\+|-|\*|/) 

這種方法的+*需要進行轉義,因爲它們的量詞時之外的字符類。

+0

感謝你,我能夠使它工作,謝謝。 – Yoda

+0

我認爲你的答案比我的答案更清楚,你應該得到+1 –