我想在文件中搜索一个模式,可以通过以下方式轻松地进行操作:
gc $ filename |选择字符串$ pattern
但是,一旦找到第一个模式,就以第一个匹配项的位置(线)为起点,然后我便开始寻找第二个模式。一旦匹配了第二个模式,我便想返回第一和第二个匹配之间的所有行,而丢弃匹配的行本身。
最佳答案
假设您的第一个模式是pattern1,第二个模式是pattern2
那么表达式将是(?<=pattern1)(.*?)(?=pattern2)
(?<=pattern1)
-这将匹配前缀模式,但将其从捕获中排除(?=pattern2)
-这将匹配后缀模式,但将其从捕获中排除