本帖最后由 idwma 于 2023-5-27 15:07 编辑
还可以试试这个- function getFuncText($a, $b)
- {
- if (!$b) { $b = '\S+' }
- $r = '(?s)public\sclass\s'+$b+'\s*\{.+?(private|public|static|void|\s+)*'+$a+'\s*(\([^)]*\))*\s*\{\s*(?<d>(?>[^{}\/\x22\x27\r\n]+|\/\/[^\r\n]+|/\*.*?\*/|[\x22][^\x22]*[\x22]|[\x27][^\x27]*[\x27]|\r?\n|\{(?<DEPTH>)|\}(?<-DEPTH>))*?(?(DEPTH)(?!)))\}'
- [regex]::Matches($s, $r).groups | ?{ $_.name -eq 'd' } | %{ $_.captures.value }
- }
复制代码
|