2017-11-25 235 views
1

我正在尝试制作正则表达式,以帮助我将所有字符串替换为“Ver”字。Powershell -regex,如何将所有字符替换为“Ver”字

例如字符串:

$a=BIOS Date: 12/02/13 10:59:34 Ver: 11.00.10 
$b=BIOS Date: 06/10/09 10:59:34 Ver: 05.03.56 
$c=BIOS Date: 03/12/03 10:59:34 Ver: 03.01.10 

,我需要的结果是:

$a=Ver: 11.00.10 
$b=Ver: 05.03.56 
$c=Ver: 03.01.10 

我试图在PowerShell中这一个,但不工作:/

[^/]++[^Ver]++ 
+1

'-replace'。* \ s(Ver:。*)','$ 1'' –

+0

非常感谢,它的工作原理,你能解释我吗? 。* - 所有标记的 \ S() - 单词 版: - 版: * - 所有标记的 - 这就是所有?? – mino

回答

2

您可以使用

-replace '.*\s(Ver:.*)', '$1' 

参见regex demo

详细

  • .* - 换行除外尽可能多的任何0+字符,
  • \s - 一个空白
  • (Ver:.*) - 第1组(以后简称与$1):Ver:后跟任何0+字符以外的换行符,尽可能多。这是用$1替换反向引用替换后的值。
+1

谢谢解释:) – mino

相关问题