Я пытаюсь найти строку, чтобы сопоставить несколько групп захвата. В случае двух таких групп захвата данные являются необязательными, поэтому они могут совпадать или не совпадать. Я использую pcregrep с опцией -onumber для возврата различных групп захвата. Вопрос: как я могу вернуть значение по умолчанию, если значения не совпадают. Я пытался использовать дизъюнктив, но безуспешно.
Пример:
../pcre-8.32/pcregrep -Min -o1 -o2 --om-separator="; " '(?s)<!-- BOUNDARY -->(?!.*?Read the full review).*?((\d*) of (\d*) people found the following review helpful|.*?).*?Help other customers find the most helpful' shirts/B000W18VGW
выдает правильные номера строк.
-Min -o1 -o2 --om-separator="; " '(?s)<!-- BOUNDARY -->(?!.*?Read the full review).*?(\d*) of (\d*) people found the following review helpful.*?Help other customers find the most helpful' shirts/B000W18VGW
выдает правильный вывод, но только для строк с
(\d*) of (\d*) people found the following review helpful
Если строка выше не существует, я хотел бы вернуть «0» для каждой из групп захвата.
Возможно ли это, и если да, то как?