4

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

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

我只能使用一个表达式,不能使用任何语言函数。

4

2 回答 2

3

只需使用此正则表达式来匹配非空字母数字字符串:

^[a-zA-Z0-9]+$

细节

  • ^- 字符串开始
  • [a-zA-Z0-9]+- 一个或多个字母或数字
  • $- 字符串结束。
于 2012-10-09T03:34:42.480 回答
2

我将假设 Not empty 你的意思不仅是空白,否则你就会得到你想要的答案。+表示一个或多个。

^[a-zA-Z0-9][a-zA-Z0-9\s]*^

将确保字符串中包含除空格以外的其他内容。

此外,如果\s是有效的,那么我假设\w也是如此,这意味着这可以更容易地说为

^[(?:\w|\s)*$

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

^\w(\w|\s)*$

于 2012-10-08T22:56:13.283 回答