Is there any way I can convey the idea of "except" without the ^ character when writing a Scanner regex?

I found an issue with my delimiter. It breaks down %^& - 4 into these three tokens: %, ^, and & (as opposed to %^&, -, and 4). I guess it’s because of that “except” sign in my regex. Do any fixes come to your mind? Here’s what my useDelimiter() method looks like

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