I know this duplicates a check on the first run, but I don't think it hurts that bad, and I wanted to avoid checking entirely if the expression has no escape symbols.