使用正则表达式匹配powershell中的括号

前端之家收集整理的这篇文章主要介绍了使用正则表达式匹配powershell中的括号前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试检查无效的文件名.我希望文件名只包含小写,大写,数字,空格,句号,下划线,短划线和括号.我试过这个正则表达式:

$regex = [regex]"^([a-zA-Z0-9\s\._-\)\(]+)$"
$text = "hel()lo"

if($text -notmatch $regex)
{
    write-host 'not valid'
}

我收到此错误

Error: "parsing "^([a-zA-Z0-9\s\._-\)\(]+)$" - [x-y] range in reverse order"

我究竟做错了什么?

解决方法

尝试将 – 移动到角色类的末尾

^([a-zA-Z0-9\s\._\)\(-]+)$

在字符类的中间,它需要被转义,否则它定义一个范围

猜你在找的正则表达式相关文章