I want my Scanner to consider delimiters only in the middle of input. How could I do it?

I want my Java Scanner not throw out anything if it’s the end of input. As it is, when I input things like 5+4&, my Scanner delimits it into 5, +, and 4, not into 5, +, and 4& as I want it to do. In other words, I want my Scanner to consider delimiters only in the middle of input, not when there is an explicit or implied delimiter at either end of it. Here’s what my useDelimiter() looks like

scanner.useDelimiter("\\s+|(?:(?<=[\\dA-z.,])(?=[^\\dA-z.,]))|(?:(?=[\\dA-z.,])(?<=[^\\dA-z.,]))");

Could you please give me some advice on how I could do it?