特定字段的select-string -pattern通配符

时间:2017-04-07 21:23:51

标签: powershell

我对powershell还很新。不确定解决这个问题,甚至不确定我做错了什么。

我的最终目标是从一个长txt文件中提取5组5个字符的代码,字符组由 - 分隔。实施例JTI45-534YS-PKQN6-MSE9S-2PFNM。其中有多个,我需要立即将它们全部从文件中提取出来。

我在

上尝试了多种不同的变体
$(document.body).on("keyup", function (e) {
  if (e.which === 13) {
    $("input:visible:first").focus();
  }
});

Select-String .\reducedCodes.txt  -Pattern "*-*-*-*-*"

提前致谢。

1 个答案:

答案 0 :(得分:3)

由于您要查找的字符串看起来像字母数字,因此您可以使用正则表达式字,用\w表示。由于连续五个,您可以使用\w{5}然后它们由-字符分隔。因此Select-String通常会为您提供包含匹配项的行,而您只需要匹配项,然后您就可以获得Matches属性,其中Value是完全匹配。另请注意Groups属性,如果您将\w{5}置于()内,则可以获得单个群组。

 (Select-String .\reducedCodes.txt -Pattern '\w{5}-\w{5}-\w{5}-\w{5}-\w{5}').Matches.Value