[英]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.