https://github.com/rancher/rancher/issues/14939.
Problems:
we are not using lazy match to match the group (!=|=) so that "foo !=
bar` can be parsed wrongly as (foo !) (=) (bar).
Solutions:
Use lazy match to match as less as possible the characters in the first
group. Also improved the whitespace matches.