PowerShell中if命令如何实现判断URL包含2个.符号的功能
PowerShell 点字符出现次数判断修复方案
方案1:统计字符出现次数(推荐,可读性更高)
直接统计URL中点字符的出现次数,再做数值判断,逻辑清晰易修改:
$url = Read-Host 'URL' # 统计.的出现次数 $dotCount = ($url.ToCharArray() | Where-Object { $_ -eq '.' }).Count # 当点的数量不等于2时触发提示 if ($dotCount -ne 2) { msg * "URL中不包含2个." }
如果后续需要调整判断阈值,直接修改-ne后的数值即可,比如要判断是否包含3个点,把2改成3就行。
方案2:正则匹配法
通过正则表达式直接匹配刚好包含2个点的字符串,代码更精简:
$url = Read-Host 'URL' # 正则含义:匹配整个字符串中刚好出现2个.的情况 if ($url -notmatch '^([^.]*\.){2}[^.]*$') { msg * "URL中不包含2个." }
正则规则说明:
[^.]*:匹配任意数量的非点字符([^.]*\.){2}:连续匹配2次「非点字符+点」的组合[^.]*$:匹配最后一个点之后的所有非点字符
内容的提问来源于stack exchange,提问作者ahmed
相关产品推荐
相关产品推荐

