^([a-zA-Z0-9 \ s] +)的含义是什么?
如何更改此选项以避免前导空格,但文本之间可以有多个空格。
实施例。 这应该工作
这不应该起作用,因为它在此之前有空格
答案 0 :(得分:2)
^([a-zA-Z0-9\s]+)?
将在字符串的开头匹配一个或多个拉丁字母,十进制数字或空白字符,所有这些字符都可以是可选的。
要避免匹配任何前导空格,只需将其更改为:
^([a-zA-Z0-9][a-zA-Z0-9\s]*)?
最终模式将匹配一个拉丁字母或十进制数字,或字符串开头的空格字符,后跟一个或多个拉丁字母,十进制数字或空白字符,所有这些都可以是可选的。
请注意,最后的?
非常令人困惑。如果这是整个模式,那可能根本就没有必要,但我觉得这只是更大模式的一部分。
答案 1 :(得分: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]*$
您应该提供一些您想要匹配的文字示例。
答案 2 :(得分:0)