Powershell -regex,如何将所有字符替换为“Ver”字
问题描述:
我正在尝试制作正则表达式,以帮助我将所有字符串替换为“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]++
答
您可以使用
-replace '.*\s(Ver:.*)', '$1'
详细
-
.*
- 换行除外尽可能多的任何0+字符, -
\s
- 一个空白 -
(Ver:.*)
- 第1组(以后简称与$1
):Ver:
后跟任何0+字符以外的换行符,尽可能多。这是用$1
替换反向引用替换后的值。
+1
谢谢解释:) – mino
'-replace'。* \ s(Ver:。*)','$ 1'' –
非常感谢,它的工作原理,你能解释我吗? 。* - 所有标记的 \ S() - 单词 版: - 版: * - 所有标记的 - 这就是所有?? – mino