Вот некоторые примеры строк мне нужно разобрать:Регулярное выражение: группа захвата может не существовать. Как мне написать?
1 - Cream Soda (0.99)
5 - Potato Chips (2.50)
12 - Atlantic Salmon
Я хочу, чтобы захватить первую цифру, название продукта и цену, включая скобки. Иногда цена и соответствующие круглые скобки не существуют.
Я пришел с этим регулярным выражением:
/(\d+)\s+-\s*(.+)\s+(\(.*\))/
, которая работает только тогда, когда существуют все три группы. Я также пробовал:
/(\d+)\s+-\s*(.+)\s+(\(.*\))?/
но его не лучше.
Как сделать третью группу захвата опцией?
Это в javascript, если это имеет значение.
Я люблю мощь и гибкость regex, но это определенно не моя сильная сторона. Это делает трюк! – Octopus