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

PowerShell提取文本文件中括号内字符串的方法

解决方法

要提取文本文件中括号()内的字符串,你可以用以下两种PowerShell方法:

方法一:直接用正则表达式匹配

$fileContent = Get-Content -Path "$PSScriptRoot/text.txt" -Raw
$matchResult = [regex]::Match($fileContent, '\((.*?)\)')
if ($matchResult.Success) {
    $matchResult.Groups[1].Value
}

方法二:修正Select-String的用法

Select-String -Path "$PSScriptRoot/text.txt" -Pattern '\((.*?)\)' | ForEach-Object {
    $_.Matches.Groups[1].Value
}

你之前的方法无效的原因:

  • 第一个命令的正则'(.*)?'没有限定匹配范围,会匹配整个文本内容,无法精准定位括号内的部分。
  • 第二个命令语法错误,"(?:)"是空的非捕获组,且没有正确调用匹配对象的属性,自然得不到结果。

内容的提问来源于stack exchange,提问作者Hemanth

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 03:22:03