Я изучаю nom, и в качестве тестового примера я пытаюсь разобрать строку до разделителя. Если мой разделитель, скажем, /
, то я хочу сопоставить все до этого разделителя. Для этого парсер вроде
named!(gobbledygook, take_until!("/"));
работает. Но я также хочу сопоставить строку, которая заканчивается перед этим разделителем. Поэтому я хочу, чтобы и foo/bar
, и foo
возвращали "foo". Кажется, я не могу найти ничего подходящего в списке на https://github.com/Geal/nom/blob/master/doc/choosing_a_combinator.md.
Полагаю, можно было бы отсканировать либо разделитель, либо конец строки, но, похоже, это настолько распространенный случай, что должно быть что-то очевидное, что я пропускаю?