【发布时间】:2014-09-12 04:50:11
【问题描述】:
我有一个如下所示的文件:
SPECIMEN: Procedure: xxxx1 A) Location: yyyy2
Major zzz B) Location: something
text here C) more
CLINICAL DIAGNOSIS: xyz
换行符是CR,然后是LF。
我正在尝试制作从 Procedure: 末尾到 CLINICAL DIAGNOSIS 开头的正则表达式,但在读取多行时遇到问题。
这是我所拥有的:
$input_file = 'c:\Path\0240188.txt'
$regex = ‘(?m)^SPECIMEN: Procedure: (.*)CLINICAL DIAGNOSIS:’
select-string -Path $input_file -Pattern $regex -AllMatches | % { $_.Matches } | % { $_.Value }
什么都不返回。
如果我将行更改为:
$regex = ‘(?m)^SPECIMEN: Procedure: (.*)’
它抓取第一行,但不抓取其余部分。我以为(?m) 应该为我抓取多行。
有什么建议吗?
【问题讨论】:
-
有什么方法可以将整个文件 slurp 变成一个变量?
标签: regex powershell