检查输入的正则表达式不为空加上​​字母数字?

Ton*_*ich 5 regex

我需要一个正则表达式来检查输入是否不能为空并且输入只能包含字母数字字符。

我知道字母数字部分,^[\s+0-9a-zA-Z]+$但我不确定非空要求。

我只能使用单个表达式,不能使用任何语言功能。

zel*_*lio 2

我假设“不为空”不仅指空白,否则您已经得到了想要的答案。+表示一个或多个。

^[a-zA-Z0-9][a-zA-Z0-9\s]*^
Run Code Online (Sandbox Code Playgroud)

将确保字符串中除了空格之外还有其他内容。

另外,如果\s是有效的,那么我认为\w也是有效的,这意味着这可以更容易地表达为

^[(?:\w|\s)*$
Run Code Online (Sandbox Code Playgroud)

?:( )使其成为非捕获组。如果您不关心捕获,那么可以省略它,使其非常简洁。

^\w(\w|\s)*$
Run Code Online (Sandbox Code Playgroud)