0

^([a-zA-Z0-9\s]+) 是什么意思?

如何更改此设置以避免前导空格,但文本之间可以有多个空格。

例子。这应该工作

这不应该工作,因为它在此之前有一个空间

4

3 回答 3

2
^([a-zA-Z0-9\s]+)?

将匹配字符串开头的一个或多个拉丁字母、十进制数字或空白字符,所有这些都可能是可选的。

为避免匹配任何前导空格,只需将其更改为:

^([a-zA-Z0-9][a-zA-Z0-9\s]*)?

最终模式将匹配字符串开头的一个拉丁字母或十进制数字或空白字符,后跟一个或多个拉丁字母、十进制数字或空白字符,所有这些都可能是可选的。

请注意,?最后的 非常令人困惑。如果这是整个模式,可能根本没有必要,但我感觉这只是更大模式的一部分。

于 2013-11-06T07:48:36.167 回答
1

这个正则表达式:

^([a-zA-Z0-9\s]+)?

在开始时选择以下一项或多项:

English letters (both upper case OR lower case) OR digits OR spaces

PS:这甚至可以匹配一个空字符串,因为?最后。

为避免匹配前导空格,请使用此正则表达式:

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

您确实应该提供一些您尝试匹配的文本的示例。

于 2013-11-06T07:47:22.487 回答
0

这可能是你想要的吗?

\b[a-zA-Z0-9\s]+

例子

于 2013-11-06T08:28:16.403 回答