正则表达式不要以"."开头.

Raf*_*yan 2 javascript regex

我有一个文件名验证的正则表达式.这里是:

 /^[0-9a-zA-Z\^\&\'\@\{\}\[\]\,\$\=\!\-\#\(\)\.\%\+\~\_; ]+$/
Run Code Online (Sandbox Code Playgroud)

如何更改它以检查文件名不以.符号开头.感谢帮助.

Ber*_*rgi 6

一个负先行将是最简单的解决方案:

/^(?!\.)[0-9a-zA-Z^&'@{}[\],$=!\-#().%+~_; ]+$/
Run Code Online (Sandbox Code Playgroud)

或者,您可以将第一个字符与额外的字符类匹配:

/^[0-9a-zA-Z^&'@{}[\],$=!\-#()%+~_; ][0-9a-zA-Z^&'@{}[\],$=!\-#().%+~_; ]*$/
                               ^^ no dot here
Run Code Online (Sandbox Code Playgroud)

顺便说一下,在一个角色类中,几乎所有特殊字符都会失去它们的功能而不需要被转义.