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

如何用PowerShell的-split运算符正确拆分含函数结构的文本文件为数组

提取目标函数的PowerShell实现方案
  • 核心方法:借助PowerShell结合.NET正则的平衡组功能,精准识别成对花括号包裹的函数体,同时过滤注释行与MPV前缀的函数。
  • 完整代码:
# 替换为你的文件路径
$filePath = "your-functions-file.txt"
$content = Get-Content -Path $filePath -Raw

# 正则匹配规则:匹配非注释、非MPV前缀的完整函数
$funcRegex = '(?m)^(?!\s*;)(?!MPV)\w+\(isHold, taps, state\)\s*\{(?:[^{}]|(?<Open>\{)|(?<Close-Open>\}))*(?(Open)(?!))\}'

# 提取结果到数组
$targetFunctions = [regex]::Matches($content, $funcRegex) | ForEach-Object { $_.Value }

# 验证结果(可选)
$targetFunctions | ForEach-Object {
    Write-Host "=== 提取到的函数 ==="
    Write-Host $_
}
  • 正则规则细节:
    • (?m):开启多行模式,让^能匹配每行的起始位置
    • (?!\s*;):排除任意空格开头后接;的注释行
    • (?!MPV):过滤函数名以MPV开头的目标
    • 平衡组部分:处理函数体内部嵌套花括号的场景,确保只匹配完整的函数结构,不会截断或多匹配

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 03:40:30