【发布时间】:2013-09-04 20:43:35
【问题描述】:
我有一个生成的报告文件,其中包含各种文件引用。 我正在使用 Select-String 和正则表达式来匹配某些类型的文件并对其执行后续处理。
我遇到的困境是尝试一致地确定匹配数为零 (0)、一 (1) 或多于一 (2+) 的匹配。这是我尝试过的:
(select-string -path $outputfilePath -pattern $regex -allmatches).matches.count
如果有 0 个匹配,则返回“null”,如果匹配一个,则返回“1”,如果匹配多个,则返回“null”。
(select-string -path $outputfilePath -pattern $regex -allmatches).count
如果有 0 或 1 个匹配,则返回“null”,如果有多个匹配,则返回匹配数。
我是 Powershell 的新手,但我试图找到一种一致的方法来测试匹配数,无论是 0、1 还是多于 1 个匹配。
【问题讨论】:
-
您能否发布导致这种不一致行为的示例数据?
-
@HyperAnthony - 我撤回了我的“迁移”投票。你是对的 - 这个问题的要点似乎适合本网站的范围。
-
@Cyborgx37 谢谢,如果我在这里和 Meta 上显得过于敌对或防御性太强,我深表歉意。在继续收集有关 powershell 相关主题中标记(和站点范围)的反馈时,我会牢记您的 cmets。
标签: regex powershell select-string