RegEx-获取表达式和接下来的3行

RegEx-获取表达式和接下来的3行,regex,powershell,powershell-3.0,Regex,Powershell,Powershell 3.0,我正在使用Powershell尝试解析文件。我需要得到一个表达式,然后是接下来的3行。表达部分有效。3行部分没有。我不知道该怎么做 $regex = ‘(TOTALS).*?(ACCT TYPE CODE:).*?(\d)(\d)(\d).*?\r.*?\r.*?\r’ 谢谢将选择字符串与-context参数一起使用。例如 Get-content $somefile | select-string -pattern $regex -context 0,3 这将返回matchinfo对象,该对

我正在使用Powershell尝试解析文件。我需要得到一个表达式,然后是接下来的3行。表达部分有效。3行部分没有。我不知道该怎么做

$regex = ‘(TOTALS).*?(ACCT TYPE CODE:).*?(\d)(\d)(\d).*?\r.*?\r.*?\r’
谢谢

将选择字符串与-context参数一起使用。例如

Get-content $somefile | select-string -pattern $regex -context 0,3
这将返回matchinfo对象,该对象将包括匹配行后面的额外行


请参见

我假定您正在使用Get Content来获取该文件的内容。您需要做的是使用selectstring-Pattern-Context

Select-String -Path $File -Pattern "(TOTALS).*?(ACCT TYPE CODE:).*?(\d)(\d)(\d).*?" -Context 0,2

我也试过了。当我查看文件时,每一行都有回车符和换行符。您尝试过回车符和换行符吗?这是windows用于换行的格式。是的,我试过了。我想我需要回顾或展望什么的。我想。不匹配换行符,这也是问题的一部分。