Powershell正则表达式在第二组双引号之间获取数据

时间:2019-04-21 21:18:13

标签: regex powershell

我有一个像下面这样的数据集,我一直试图使用split来获取第二列数据。可以用正则表达式完成吗?我只需要第二列中的数据,即unc路径。

async function getDatabases() {
  const databases = await nano.db.list();
  console.log(databases.body);
  console.log(databases.rows);
}
getDatabases();

1 个答案:

答案 0 :(得分:1)

从概念上讲简单的解决方案:

# Array of input lines, such as would be returned by Get-Content
$lines = @' 
"\app\DATA\8161ST1\201901\20190111\2562233\" "\\server\i\Run\client\AHFC\201901\app\DATA\8161ST1\201901\20190111\2562233\*.*"
"\app\DATA\8161ST1\201901\20190111\2562234\" "\\server\i\Run\client\AHFC\201901\app\DATA\8161ST1\201901\20190111\2562234\*.*"
"\app\DATA\8161ST1\201901\20190111\2562235\" "\\server\i\Run\client\AHFC\201901\app\DATA\8161ST1\201901\20190111\2562235\*.*"
'@ -split [Environment]::NewLine

# Extract the content of the last "..."-enclosed token from each line.
$lines | ForEach-Object { ($_ -split '"')[-2] }

以上结果:

\\server\i\Run\client\AHFC\201901\app\DATA\8161ST1\201901\20190111\2562233\*.*
\\server\i\Run\client\AHFC\201901\app\DATA\8161ST1\201901\20190111\2562234\*.*
\\server\i\Run\client\AHFC\201901\app\DATA\8161ST1\201901\20190111\2562235\*.*