variable patten match