Jeśli szukasz miejsca, byłoby to " "(jedno miejsce).
Jeśli szukasz jednego lub więcej, jest to " *"(to dwie spacje i gwiazdka) lub " +"(jedna spacja i plus).
Jeśli szukasz wspólnego dystansowej, użytkowania "[ X]"lub "[ X][ X]*"lub "[ X]+"gdzie Xjest fizyczny znak tabulatora (i każda z nich jest poprzedzona pojedynczym odstępem we wszystkich tych przykładach).
Będą działać w każdym * silniku wyrażeń regularnych, jaki kiedykolwiek widziałem (niektóre z nich nie mają nawet jednej lub więcej "+"znaków, ugh).
Jeśli wiesz, że będziesz używać jednego z nowocześniejszych silników regex, "\s"a jego odmiany są odpowiednie. Ponadto uważam, że granice słów pasują również do początku i końca linii, co jest ważne, gdy szukasz słów, które mogą się pojawiać bez poprzedzania lub następowania spacji.
W przypadku PHP ta strona może pomóc.
Z edycji wydaje się, że chcesz usunąć wszystkie niepoprawne znaki. Początek jest następujący (zwróć uwagę na spację w wyrażeniu regularnym):
$newtag = preg_replace ("/[^a-zA-Z0-9 ]/", "", $tag);
# ^ space here
Jeśli chcesz także podstępu, aby upewnić się, że między każdym słowem jest tylko jedna spacja, a na początku lub na końcu nie ma, jest to nieco bardziej skomplikowane (i prawdopodobnie inne pytanie), ale podstawową ideą byłoby:
$newtag = preg_replace ("/ +/", " ", $tag); # convert all multispaces to space
$newtag = preg_replace ("/^ /", "", $tag); # remove space from start
$newtag = preg_replace ("/ $/", "", $tag); # and end