正则表达式删除前导空格

时间:2013-11-06 07:46:05

标签: regex

^([a-zA-Z0-9 \ s] +)的含义是什么?

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

实施例。 这应该工作

这不应该起作用,因为它在此之前有空格

3 个答案:

答案 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)

这可能是你想要的吗?

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

example