正则表达式 - 开头不允许空格

时间:2016-12-21 09:58:31

标签: regex

参考我的正则表达式:

^(?!.*  )[^#+&\'\"\\\\]*$

我想让用户在开头输入空格,例如:
(空格)123 --->无效

我应该如何将它添加到上面的正则表达式中? 有人能帮助我吗?

2 个答案:

答案 0 :(得分:1)

您可以为前瞻添加替代方案:

^(?! |.*  )[^#+&\'\"\\\\]*$
 ^^^^^^^^^^

请参阅regex demo

如果空格出现在字符串的开头,或者在任何0+字符之后某处有两个连续的空格(取决于DOTALL选项或正则表达式,任何字符串),(?! |.* )否定前瞻将使匹配失败除了换行符之外的字符。)

相同的模式可以用更线性的方式编写,如

^(?!(?:.* )? )[^#+&\'\"\\\\]*$

答案 1 :(得分:1)

  

重新启动用户在开头输入空格

使用字符类[^\s]+?更简单,它只允许字符串开头的非空格字符:

^[^\s]+?[^#+&\'\"\\\\]*$