簡體   English   中英

是否可以在Java中使用正則表達式在+和 - 之間切換?

[英]Is it possible to switch between + and - using regex in Java?

6*x + 7 = 7*x + 2 - 3*x

當我們將右側移動到等式的左邊時,我們需要將操作符從+轉到 - 反之亦然。

使用java regex replaceAll ,我們可以用-s替換所有+'。 結果,所有的操作員標志變成了 - 使我們無法恢復所有的+。

作為一種解決方法,我在迭代字符串並將+更改為 - 遇到一個時,反之亦然。 但我仍然想知道是否有辦法在Java中使用正則表達式在布爾值對之間進行切換?

你可以使用這個技巧:

String equation = "<Your equation>"
equation = equation.replaceAll("+","$$$");
equation = equation.replaceAll("-","+");
equation = equation.replaceAll("$$$","-");

假設$$$不在您的等式中。

在PHP中,可以執行以下操作:

function swap($m) {
    return ($m[0]=='-')?'+':'-';
}
echo preg_replace_callback( '(\+|\-)', 'swap', '1 + 2 - 3 + 4 - 5');

暫無
暫無

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

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