Mengingat ekspresi pencocokan regex /^[-~]*x$/, mengevaluasinya dalam hal xdan output string yang cocok regex /^-?x[+-]\d+$/.
Sebagai contoh, string -~xmengevaluasi x+1, sedangkan string -~-xmengevaluasi -x+1, dan string -~-~--xmengevaluasi x+2.
Kami mulai dari xdan mengevaluasi string dari kanan ke kiri. -meniadakan istilah, sementara ~mengkonversi yke -y-1.
Testcases:
x x+0
~x -x-1
-~x x+1
~-~x -x-2
-~-~x x+2
--~~x x+0
~-x x-1
-~-x -x+1
Ini adalah kode-golf . Jawabannya terpendek dalam byte menang.
Format input / output sangat ketat. Ini "x"wajib.
~sementara belum didefinisikan
x+010bukanx+10untuk-~-~-~-~-~-~-~-~-~-~x? Ini cocok dengan regex kedua.