preg_match("/\w+/", $s, $matches);
위의 PHP 코드가 있습니다. 나는 그것을 문자열에있는 단어와 일치시키는 데 사용한다. 그것은 하나의 경우를 제외하고는 훌륭하게 작동합니다. ' w'와 일치하는 일부 이상한 문자와 일치
예 :
'This is a word'
{'This','is','a','word'}
'Bös Tüb'
이 {'Bös','Tüb'}
첫 번째 예는 작동과 일치해야 일치해야하지만, 두 번째는하지 않습니다. 대신 {'B','s','T','b'}
을 반환하고 단어 문자로 ö
및 ü
을 볼 수 없습니다.
질문
가 어떻게 O 및 ü 일반적 이름에 사용되는 다른 문자와 일치하도록 (그들은 이상 할 수 있습니다, 이것은 독일어, 터키어 이름에 관한 것입니다)? 수동으로 모두 추가해야합니까 (/[a-zA-Z and all others as unicode]/
)? 나는 당연히 언급하는 것을 잊었다으로
편집
단어 사이에 \n
, \r
및 ' '
문자가 많이 있습니다. 이것이 정규 표현식을 사용하는 이유입니다. 당신은 공백으로 분리해야하는 경우
검색 유니 코드 PCRE 내 편집을 참조하십시오 – dynamic