PHP PREG Regex: Что означает «\ W» при использовании модификатора UTF-8? - PullRequest
3 голосов
/ 07 января 2010

Я знаю, что в обычном php regex (режим ASCII) "\ w" (слово) означает "буква, число и _". Но что это значит, когда вы используете многобайтовое регулярное выражение с модификатором "u" ?

preg_replace('/\W/u', '', $string);

1 Ответ

6 голосов
/ 07 января 2010

Все, что не является буквой, цифрой или подчеркиванием.

Таким образом, с точки зрения классов символов Unicode, \W эквивалентен каждому символу, который не находится в классах символов L или N и не является символом подчеркивания.

Если бы вы написали его с использованием синтаксиса \p{xx}, это было бы эквивалентно [^\p{LN}_].

...