首页 > 解决方案 > 正则表达式替换部分字符串

问题描述

我正在尝试替换一系列字符串来提取日期。我正在使用 powershell,并且我有一个我想要实现的部分示例:

$Strings = @("this_is_a_test_8_20_2019_test", "this_is_a_test_8_19_2019_test")
$Strings -replace "[^0-9_]",""

留下一个结果:

____8_20_2019_

____8_19_2019_

我试图只隔离没有跟随另一个 _ 的 _ 字符,然后是数字。我觉得我错过了一些非常明显的东西,但我不确定是什么。有人有任何想法/建议吗?

标签: regexpowershell

解决方案


假设您期望:

8_20_2019
8_19_2019

然后你需要:

$Strings -replace "[^\d]+_|_[^\d]+",""

推荐阅读