Issue2865

Three regular expressions did not allow '!' in command/variable names, causing `%%!?` and `?%%!` to parse incorrectly (Issue #2865).
Tests for the input splitter were added for these cases.