我对正则表达式不太了解,所以我只找到了一些并尝试使用它。
为什么我对此正则表达式有此错误:
warning: character class has '-' without escape: /[a-zA-Z0-9-._ ]/
这里怎么了?
验证应仅包含字母,数字和“-”,“。”。 ,“ _”,“”(空格)
连字符在正则表达式中的特殊含义表示示例 [a-z]
表示a到z字符。
如果要匹配-
,则它应为转义或位于类的结束(或开始)。
[a-zA-Z0-9._ -]
OR
[-a-zA-Z0-9._ ]
OR
[a-zA-Z0-9\-._ ]
在字符类中,连字符具有特殊的含义。您可以将连字符作为课程的第一个或最后一个字符。在某些正则表达式实现中,您也可以直接放置在范围之后。如果将连字符放在其他任何地方,都需要对其进行转义以将其添加到班级中。
[-a-zA-Z0-9._ ]
如果将-
放在字符类中,则需要对其进行转义,因为它在字符类中具有特殊含义(range)。或者,您可以将-
放在char类的开头或结尾。如果您这样做,就不需要在字符类中转义-
符号。