PHP регулярное выражение, пробел или без символа - PullRequest
1 голос
/ 26 июля 2010

Хорошо, я пытаюсь выяснить это регулярное выражение, где у меня есть слово, и на любом конце слова это может быть пробел или нет символа. Вот пример:

preg_match_all("/( ?)(" . $piece . ")( ?)/is", $fk, $sub);

Где ( ?), я хочу, чтобы это был «Единственный символ, который может быть только пробелом или вообще без символа». Я пытаюсь в основном сделать функцию, которая проверяет, является ли что-то слово или нет на основе окружающих его символов. И $piece - это слово, поэтому оно должно быть само по себе, а не частью другого более длинного слова, если вы понимаете, что я имею в виду. Спасибо

1 Ответ

6 голосов
/ 26 июля 2010

Для проверки пробела или отсутствия символа используйте следующий синтаксис:

preg_match_all("/(^| )(" . $piece . ")( |$)/is", $fk, $sub);

(^| ) означает: сопоставить любое начало строки (так называемый «без символа») или пробел.( |$) означает: совпадение пробела или конца строки (опять же, «без символа»).Начало и конец строки - единственные места, где нет символа.

...