-是字符类中的一个特殊字符,因此
.-0-9是歧义的,可能会
.赋予
0和
-和含义
9,因此本质上是字符
./09-。
要在字符类中包含连字符减号,您必须将其转义或将其放在字符类的开头或结尾(这是您在第二个正则表达式中所做的,也许是偶然的)。
编辑添加:至少对于.NET的正则表达式引擎,以上猜测似乎是正确的:
PS> [char[]](32..127) -match '[a-zA-Z_''s,;.-0-9]'',-./09;A...

-是字符类中的一个特殊字符,因此
.-0-9是歧义的,可能会
.赋予
0和
-和含义
9,因此本质上是字符
./09-。
要在字符类中包含连字符减号,您必须将其转义或将其放在字符类的开头或结尾(这是您在第二个正则表达式中所做的,也许是偶然的)。
编辑添加:至少对于.NET的正则表达式引擎,以上猜测似乎是正确的:
PS> [char[]](32..127) -match '[a-zA-Z_''s,;.-0-9]'',-./09;A...