我想在一个文件中搜索一个模式,我可以使用以下内容轻松完成:
gc $文件名 |选择字符串 $pattern
但是,一旦我找到了第一个模式,使用第一个匹配项的位置(行)作为起点,我就想开始搜索第二个模式。一旦匹配了第二个模式,我想返回第一个和第二个匹配项之间的所有行,丢弃匹配的行本身。
最佳答案
假设您的第一个模式是 pattern1,第二个模式是 pattern2
那么表达式将是 (?<=pattern1)(.*?)(?=pattern2)
(?<=pattern1)
- 这将匹配前缀模式,但将其从捕获中排除(?=pattern2)
- 这将匹配后缀模式,但将其从捕获中排除
关于regex - Powershell 高级正则表达式从文件中选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5944465/