我正在尝试搜索字符串以匹配多个捕获组。在两个这样的捕获组的情况下,数据是可选的,因此它们可能匹配也可能不匹配。我正在使用带有选项 -onumber 的 pcregrep 来返回各种捕获组。问题是:在没有值匹配的情况下如何返回默认值。我尝试使用析取但没有成功。
例子:
../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”。
这可能吗?如果可以,怎么办?