我想从多行字符串中提取所有的变量名, 下面代码中的正则有点问题, 请高手指引, 提前感谢!
正确结果应该如下: 现在代码的结果中少了红色字的两个变量
$arr
$ii
$p12
$pro
$s
$s1
$s2
$x- $s = @'
- $p12 = 'abc';
- $pro=New-Object System.Diag.Pr;
- $pro.Start = $false;
- $pro.Start.Red = $true; $s="hello"; $s1="world"; $s2="china"
- for ($x = 1; $x -lt 10; $x = $x + 1)
- {
- echo $x
- $s="word"
- }
- $arr = "Red", "Orange", "Green", "White", "Blue", "Indigo", "black", "Violet"
- for ($ii = 0; $ii -lt $arr.Length; $ii++)
- {
- $arr[$ii]
- }
- '@
- $s | sls '(?m)(\$[a-zA-Z_][a-zA-Z0-9_]*)\s*=\s*.+' -AllMatches |
- foreach{
- $_.matches |
- foreach{
- $_.Groups[1].Value
- }
- } |
- sort -Unique
复制代码
|