正则表达式 - 一开始就不允许空间



请参阅我的正则表达式:

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

我想限制用户在开始时输入空间,例如:
(空间)123 --->无效

我应该如何将其添加到上述正则表达式中?
有人可以帮我吗?

您可以在lookahead中添加替代方案:

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

请参阅Regex Demo

如果一个空间出现在字符串的开头,或者如果在任何0 字符之后,(?! |.* )负LookAhead失败了匹配,或打破字符)。

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

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

限制用户在开始时输入空间

使用字符类[^s]+?更简单,该类别在字符串开始时仅允许非空格字符:

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

最新更新