猿问

azAZ 在正则表达式中是什么意思?

我一直在使用其他人的代码,并且遇到了正则表达式[^0-9a-z-A-Z]。这与[^0-9a-zA-Z]用于排除非字母数字字符的 common 非常相似,但请注意中间的额外破折号,在小写z和大写之间A

我对正则表达式不是很熟悉,但我现在已经阅读了几页关于它们的内容,而且我所看到的规则似乎都没有涵盖这种语法的含义。也许它甚至不是有效的语法,但 Golang 正则表达式解释器似乎并不介意。我很感激任何澄清。谢谢。


一只萌萌小番薯
浏览 374回答 2
2回答

胡子哥哥

字符类中不能解释为范围的地方的破折号被解释为文字破折号。因此该表达式不包括字符0to 9、ato z、AtoZ和-。这就是为什么没有语法错误的原因。不过,这可能是一个错字。如果破折号应该在那里,那么为了防止混淆,它应该被转义和/或从范围之间移出,例如[^0-9a-zA-Z\-]
随时随地看视频慕课网APP

相关分类

Go
我要回答