Hello, imagine you need to match such a pattern: pat : (@@ [charset]* @@) | [charset]* ... where [charset] has to include '@' My questions are: * Is there any other way than using a non-greedy form of [charset]* ? * How, actually, is non-greedy character string matching performed? Thank you, denis ------ la vida e estranya