DevMan, Не знаю регулярные выражения. Что за 10 минут смог придумать то и написал....
Терминалы это все Заглавные L, F, N.... F'(эф штрих , штрих не видно поэтому я написал еще словами,), N'(эн штрих) и так далее Нетерминалы a , f, h, ... и символы &,+ , *... кроме символа ' . На входе подается строка типа LmN+ нужно распарсить ее в matches. То есть matches[1] = L, matches[2] =m. и так далее
OwerFan, сорян, но парсить ваш ответ у меня нет ни желания, ни времени.
предлагаю вам другой вариант: приводите входящий текст и что из него надо получить/НЕ получить.
Вроде вы уже задавали подобный вопрос.
Попробуйте (?<terminal>[A-Z]'?)|(?<nonterminal>[a-z\&\*\+])
Расскажите подробнее, что вы вообще делаете. Что это вообще за символы? Что за текст?