Windows 查找正则表达式 - findstr LookBehind

Windows 查找正则表达式 - findstr LookBehind

我有这个字符串:

DisplayName    REG_SZ    Paquete de controladores de Windows - Intel Corporation (iaStorA) HDC  (07/22/2015 14.5.2.1088)

我从以下网址获取:

Reg Query HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall /s /v DisplayName

我想要的是产品的确切名称:Paquete de controladores de Windows - Intel Corporation (iaStorA) HDC (07/22/2015 14.5.2.1

我正在尝试这个:

PS> Reg Query HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall /s /v DisplayName | select -First 3 | findstr.exe /i /r /c:"(?<=REG_SZ\s*).*"

但它不像grep -PoLinux中的,无法弄清楚。

答案1

因此你有这个字符串...

DisplayName    REG_SZ    Paquete de controladores de Windows - Intel Corporation (iaStorA) HDC  (07/22/2015 14.5.2.1088)

您需要以此字符串结尾...

Paquete de controladores de Windows - Intel Corporation (iaStorA) HDC  (07/22/2015 14.5.2.1)

考虑。 。 。

考虑使用获取项目属性使用适用的选项和参数来获取注册表信息,而不是注册查询

Get-ItemProperty -Path Registry::HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall

其他 PowerShell 方法

使用代替()修剪()函数来解析然后清理您需要的字符串。

电源外壳代替()修剪()函数示例

$s = "DisplayName    REG_SZ    Paquete de controladores de Windows - Intel Corporation (iaStorA) HDC  (07/22/2015 14.5.2.1088)"
$s = $s.replace('DisplayName    REG_SZ', '').Trim()
$s

我的测试验证

在此处输入图片描述


更多资源

相关内容