2010-07-26 1 views
1

좋아, 내가 단어가있는이 정규 표현식을 알아 내려고 노력 중이며 단어의 양쪽 끝에 공백이나 문자가 없을 수 있습니다. Heres는 예 : (?) 내가 그 "만 전혀 공백이나 어떤 문자가 될 수있는 하나의 문자"가되고 싶어요입니다PHP 정규식, 공백 또는 문자 없음

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

. 임은 기본적으로 단어가 주변 문자를 기반으로 단어인지 아닌지를 확인하는 함수를 작성하려고합니다. 그리고 $piece은 단어입니다. 그래서 내가 의미하는 바를 아는 경우 다른 단어보다 길지 않아야합니다.

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

(^|) 의미 : : 감사

+1

단어 경계 어설 션 '\ b'을 (를) 찾고있을 수도 있습니다. – Gumbo

답변

5

사용, 공백 또는 전혀 문자에 대해 다음 구문을 테스트하지 않으려면 일치하거나 문자열의 시작 (소위 "아무 문자") 또는 공간. (|$)은 다음과 같은 의미를 나타냅니다. 공백 또는 문자열 끝 (다시 "문자 없음"). 문자열의 시작과 끝은 문자가없는 유일한 장소입니다.

+0

\ b를 사용하지 않는 것이 더 적절합니까? –

+1

\ b는 단어가 아닌 문자와 일치합니다. 그는 특별히 "숯불"이나 공간을 물었다. \ b는 예 : (어느 쪽도 아니다. – jmz