You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell中提取起止字符串间内容(含结束字符串)的方法

修改PowerShell正则以包含结束字符串

你的正则里用了正向先行断言(?=\DocFWImport>),这种断言只会确认结束字符串存在,但不会把它包含到匹配结果里。要让结果带上结束字符串,只需要调整正则模式:

$testText = Get-Content C:\Users\Administrator\Documents\test1\test1.txt -Raw
$pattern = '(?<=DocMasterBOL>).+?DocFWImport>'
[regex]::Matches($testText, $pattern).Value

关键修改说明:

  • 删掉结束字符串前的(?=...)断言结构,直接把DocFWImport>写进匹配模式,这样正则就会把中间内容和结束字符串一起捕获。
  • 给Get-Content加上-Raw参数:默认Get-Content会按行读取文件,要是目标内容跨了多行,原代码会匹配失败。加-Raw后文件会被读成一个完整字符串,跨行场景也能正常匹配。

内容的提问来源于stack exchange,提问作者Eduardo Escamilla Salazar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 01:57:50