如果您正在寻找一个空格,那就是" "(一个空格)。
如果您要查找一个或多个,则为" *"(即两个空格和一个星号)或" +"(一个空格和一个加号)。
如果您正在寻找通用间距,请使用 "[ X]" 或 "[ X][ X]*" 或 "[ X]+" 其中 X 是物理制表符(在所有这些示例中每个前面都有一个空格)。
这些将在我见过的每一个*正则表达式引擎中工作(其中一些甚至没有一个或多个"+" 字符,呃)。
如果您知道您将使用更现代的正则表达式引擎之一,"\s" 及其变体就是您的最佳选择。此外,我相信单词边界也与行首和行尾相匹配,这在您查找可能出现的单词前后没有空格时很重要。
对于 PHP,this page 可能会有所帮助。
从您的编辑中,您似乎想要删除所有无效字符。开头是(注意正则表达式内的空格):
$newtag = preg_replace ("/[^a-zA-Z0-9 ]/", "", $tag);
# ^ space here
如果您还想使用技巧来确保每个单词之间只有一个空格,并且在开头或结尾处没有空格,那会稍微复杂一些(可能是另一个问题),但基本思路是:
$newtag = preg_replace ("/ +/", " ", $tag); # convert all multispaces to space
$newtag = preg_replace ("/^ /", "", $tag); # remove space from start
$newtag = preg_replace ("/ $/", "", $tag); # and end