/*
Separar expresión matemática con expresiones regulares en Java
https://es.stackoverflow.com/q/127195/127
*/
class Ideone
{
{
//variables
final String texto
= "1000000.315+5.8/(6.0+1-8*2.0)"; final String regex
= "(?=[-+*/()])|(?<=[-+*/()])";
//split
resultado = texto.split(regex);
//imprimimos 1 por 1
for (String item
: resultado
) { }
}
}
LyoKCVNlcGFyYXIgZXhwcmVzacOzbiBtYXRlbcOhdGljYSBjb24gZXhwcmVzaW9uZXMgcmVndWxhcmVzIGVuIEphdmEKCWh0dHBzOi8vZXMuc3RhY2tvdmVyZmxvdy5jb20vcS8xMjcxOTUvMTI3CiovCgpjbGFzcyBJZGVvbmUKewoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBqYXZhLmxhbmcuRXhjZXB0aW9uCgl7CgkJLy92YXJpYWJsZXMKCQlmaW5hbCBTdHJpbmcgdGV4dG8gPSAiMTAwMDAwMC4zMTUrNS44Lyg2LjArMS04KjIuMCkiOwoJCWZpbmFsIFN0cmluZyByZWdleCA9ICIoPz1bLSsqLygpXSl8KD88PVstKyovKCldKSI7CgkJZmluYWwgU3RyaW5nW10gcmVzdWx0YWRvOwoJCQoJCS8vc3BsaXQKCQlyZXN1bHRhZG8gPSB0ZXh0by5zcGxpdChyZWdleCk7CgkJCgkJLy9pbXByaW1pbW9zIDEgcG9yIDEKCQlmb3IgKFN0cmluZyBpdGVtIDogcmVzdWx0YWRvKSB7CgkJCVN5c3RlbS5vdXQucHJpbnRsbihpdGVtKTsKCQl9Cgl9Cn0=