PHP preg_match需要确保单词之间只允许一个空格字符

时间:2010-11-26 18:04:39

标签: php regex

基本上我需要一个preg_match来确保每个单词之间只允许一个空格字符(如果有多个单词)。

我现有的规则是:

(^[A-Za-z\s]+$)

感谢。

3 个答案:

答案 0 :(得分:5)

这取决于你所说的“单词”,但假设你的意思是A-Z或a-z中的字母,你可以试试这个:

^[a-zA-Z]+( [a-zA-Z]+)*$

请注意,\s 表示空格字符 - 它表示任何空格,包括新行。

答案 1 :(得分:2)

/^[\S]+\s?[^\s]?/i

将在其后面的一个空格中搜索任何单词,而不是在该空格后面的空格

/\s?\S+\s/

将搜索任何一侧或仅在末尾有空格的任何字符。

答案 2 :(得分:1)

我认为要为您的匹配指定一些事件,即{1} {1,5}(仅匹配1或1到5之间),所以像......

^ [A-Za-z] +({1})$