文字列'(3/10)+(1/2)*(1/3)-(1/25)/(3/100)'
を引数にして逆ボーランド記法を使用して、答えを求めるプログラムを
作りたいと思っております。
配列で [分数, 演算子, 分数, 演算子]
というように分数と演算子で分けたいです。
javascript
1const str = '(3/10)+(1/2)*(1/3)-(1/25)/(3/100)'; 2var re = /(+|\-|*|/)/; 3var re2 = /(+|\-|*|[^\d]/)/; 4const splits = str.split(re); 5console.log(splits);
期待する出力は、
[(3/10),+,(1/2),*,(1/3),-,(1/25),/,(3/100)]
です。
数字に挟まれていないスラッシュが上手く表現できません。
一つ目の、reだと
分数と割り算のスラッシュが被ってしまいます。
2つ目の、re2だと下記リンクの様に ')/' が該当してしまいます。
https://regex101.com/r/JDiPz5/1
よろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/10/08 09:15