Программирование > Регулярные выражения
Вырезка текста
Phoinix:
mike
Вот только я не пойму, что при use locale он делает с пробелами?
Он вырезает текст с пробелами, но при этом оставляет вместо текста один пробел, при наличии в тексте нескольких подряд пробелов он заменяет их, опять же, на один?
NeoNox:
Пробелы они и африке пробелы(так же как табы и переводы строк) только черные. use locale влияет на выбор charmaps.
ondr:
--- Цитировать ---NeoNox:
Пробелы они и африке пробелы
--- Конец цитаты ---
Извините, но это не совсем так...
Например символ с ASCII кодом 160 (chr(160)) при кодировке cp1251 даст пробельный символ. И более того метасимвол \'\\s\' отловит этот символ как положенно. При других кодировках этого не происходит.
ps: Microsoft программы этот символ очень любят. (например Excel)
Yukko:
--- Цитировать ---ondr:
Извините, но это не совсем так...
--- Конец цитаты ---
Читаем ман по регам:
\\s Пропуск. в системах, ограничивающихся поддержкаой ASCII, часто эквивалентно [ \\f\\n\\r\\t\\v], В системах с подержкой Юникода также часто включает управлящий символ "следующей строки" U+0085, а иногда свойство \\p{Z}
\\p{Z} — \\p{Separator} — символы, выполняющие функции разделителей, но не имеющие собственного визуального представления (разнообразные пробелы и т.д.)
\\p{Zs} — \\p{space separator} — различные типы пробелов (обычный пробел, наразрывный пробел, и пробелы фиксированной ширины)
Ман по РНР:
By default, a whitespace character is any character that the C library function isspace() recognizes, though it is possible to compile PCRE with alternative character type tables.
(Свободный перевод, извините за качество
По-умолчанию пробелом считается любой символ, который распознает библиотечная С-функция isspace(), хотя возможно скомпилировать PCRE с альтернативным набором символов)
На С не писал, не знаю. может кто просветит, какие символы распознает эта функция?
Оттуда же:
\\s any whitespace character
any переводится любой
Yukko:
--- Цитировать ---metton:
/.*?/
--- Конец цитаты ---
Согласен. Ищет минимальное совпадение.
Навигация
Перейти к полной версии