Я работал над регулярным выражением для разбора списков рецептов из различных онлайн-источников, и у меня были проблемы с тем, чтобы регулярное выражение игнорировало прилагательные и квалификаторы в рецептах.
Например, если рецепт требует "1 паприка с округленной столовой ложкой", я хочу, чтобы мое регулярное выражение игнорировало "округлено" и возвращало "1", "столовая ложка" и "паприка". С этой целью я придумал:
(\d\/?\d?) ([\w]+?)?? ?(cup|tablespoon|teaspoon)? ([\w\s]+)
, который, кажется, работает хорошо, пока есть измерение. Но для чего-то вроде «1 яйцо» или «2 зеленых луков» это не совпадает.
Есть ли способ сделать регулярное выражение не только совпадающим, когда нет измерения, но и поместить ингредиент (т.е. «яйцо») в ту же группу (группу 4), что и ингредиенты с измерением?