Mmh nur mal so als Rückfrage:
Ist es egal wo diese Zeichen stehen? Ich vermute mal, dass es das nicht ist, bei dir wäre allerdings solch ein String ok:
"&abc="
Außerdem kannst du nicht "c" schreiben wenn du auf eine Variable prüfen willst, denn "c" ist nur eine Zeichenkette, die c (nicht die Variable, sondern das Zeichen) enthält.
Wenn du es vernünftig machen willst musst du wohl Lexer und Parser dafür schreiben. Sprich du splittest deinen String erst auf und erstellst Objekte aus den zugehörigen Zeichen. (Z.b.: a&b=c wird aufgesplittet in drei Literal-Objekte für a,b,c und zwei BinOp-Objekte für & und =) Daraus baust du dann einen Baum. Ein Parser sagt dir dann, ob der Ausdruck deinen Vorstellungen entspricht.
Ist ein bisschen Arbeit, wenn es aber vernünftig werden soll ist dies das Mittel der Wahl.
PS: Ich weiß, dass ich das grad sehr knapp umrissen hab. Wenn sich fragen stellen immer her damit!