You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell中如何用正则验证含反斜杠等任意字符的输入格式?

修改正则以支持任意字符的解决方案

问题分析

原正则中的\w仅匹配字母、数字和下划线,无法覆盖反斜杠、点号等特殊字符的需求。我们需要替换条目内容的匹配规则,同时保证输入格式的合法性(空输入,或单引号包裹、逗号分隔的多条目)。

修改后的正则表达式

将原正则里的\w+替换为[^']+,新的正则模式为:

^$|^'[^']+'(,'[^']+')*$
  • [^']+:匹配除单引号之外的任意字符(包括反斜杠、点号、特殊符号等),且至少包含一个字符(若允许空条目,可改为[^']*)。
  • 保留^$规则以匹配空输入,确保空值能通过验证。

修改后的PowerShell代码

$string = Read-Host "Enter a string"
# 支持空输入,或单引号包裹、逗号分隔的任意非单引号字符条目
$pattern = "^$|^'[^']+'(,'[^']+')*$"
if ($string -match $pattern) {
    Write-Host "The string meets the pattern."
} else {
    Write-Host "The string DOES NOT meet the pattern."
}

扩展说明

如果需要支持条目内包含转义的单引号(例如'it\'s'),可调整正则识别转义序列,此时正则修改为:

^$|^'(?:\\'|[^'])+'(?:,'(?:\\'|[^'])+')*$

该模式会匹配转义单引号\',同时避免未转义的单引号破坏整体格式。

内容的提问来源于stack exchange,提问作者HTWingNut

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 02:32:42