我需要提取与-o1
行匹配的组不要包含一个字符串。
如果我使用-v
pcregrep 不匹配任何组 - 这是合理的:我要求对我排除的模式中的某些内容进行组匹配。
我该如何处理呢?
预先感谢您的任何帮助。
答案1
假设我已经正确理解您的需求,如果您的 match 命令采用形式pcregrep -o1 '(match)'
,则仅当另一个字符串不匹配时才会报告匹配的相应正则表达式是pcregrep -o1 '^(?!.*donotmatch).*(match)'
。在 PCRE 文档中查找负先行表达式。另请注意 ;.*
前面的(match)
;这是必需的,因为通过以下方式将否定前瞻表达式锚定到行的开头^