string - 字符串-match的PowerShell问题

标签 string powershell match

我需要将字符串的内容与字符串集进行匹配。我有这样的事情:

>$ID = "GEt"
>$ID -Match  "Get|YES|NO"
True

我不需要-cmatch-没关系。但是以下内容-不是:
>$ID = "targetService"
>$ID -Match  "Get|YES|NO"
True

如果我要查找的字符串是另一个的子字符串,如何避免这种情况?

最佳答案

您可以通过添加开始和结束行 anchor (^和$)来强制使用替代正则表达式进行精确匹配。使用非捕获组将替代文本与 anchor 隔离:

$ID = "targetService"
$ID -Match  '^(?:Get|YES|NO)$'

False

关于string - 字符串-match的PowerShell问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38267461/

相关文章:

powershell - 如何在 PowerShell session 中正确退出远程作业

wpf - Powershell 数据模板绑定(bind)语法

powershell - 在 PowerShell 中使用 Get-ChildItem 时,如何获得询问路径的提示?

javascript - 如何在具有正则表达式模式的匹配方法中使用变量

删除与值匹配的行

c# - 使用正则表达式从 AssemblyInfo.cs 文件中检索程序集版本

java - 从 Levenshtein 距离获取每一步

c# - 如何在 C# 中正确处理密码

c - 用字符串替换字符

java - 将字符串压缩为a2b3...等