JAVA利用正則獲取算術表示式的數字

2021-07-24 05:13:10 字數 560 閱讀 5045

利用正規表示式匹配算術表示式中的數字,正負均可提取。

臨時抱佛腳寫的,如果有更好的辦法,你會告訴我的對吧?

string expression = "-40+(-6-4)+-2-91";
//斷言數字左邊為符號,符號-會出現0次或1次,再出現數字至少一次的數字

//或者

//以符號-開頭,後面是數字

string reg = "((?<=\\(|-|\\+|/|\\*)-?\\d+)|(^-[0-9]+)";

pattern p = pattern.compile(reg);

matcher m = p.matcher(expression);

while (m.find())

-40-64

-291

public

static

void

main(string args)

}

利用棧解析算術表示式

在沒有接觸到棧這種資料結構時,一直覺得用程式計算四則表示式是件相當繁瑣的事。但利用棧,問題就立刻變得容易許多。解析任何包括 和0到9數字組成的算術表示式,並計算其結果。中綴表示式就是通常所說的算術表示式,比如 1 2 3 4。字尾表示式是指通過解析後,運算子在運算數之後的表示式,比如上式解析成字尾表...

算術表示式

引用標頭檔案 include include include using namespace std typedef int elemtype const int stack init size 100 儲存空間的初始化分配量 const int stackincrement 10 儲存空間分配增量...

算術表示式

include include include include define maxzhansize 30 char stack maxzhansize char deleted int top void add int top,char item 逆波蘭數計算 define element int...