Регулярное выражение Java для соответствия _all_ пробельным символам

  • Для такой огромной установки, существуют, по крайней мере, следующие главные требования: безопасность Данных , зрелость, устойчивость, Масштабируемость , цена (лицензия на рабочее место по сравнению с открытым исходным кодом всегда имеет огромное значение независимо от цены на рабочее место), простота администрирования
  • я думал бы, что подрывная деятельность будет очень хорошо.
  • существует поддержка доступны (от collabnet, clearvision, wandisco и другие). Вы могли спросить их, если подрывная деятельность будет в состоянии справиться с Вашей задачей.
  • подрывная деятельность имеет очень зрелый бэкенд базы данных - FSFS. Это - абсолютно горное тело, и с тех пор 1.5 это может обработать действительно много изменений без снижения производительности. Изменения записаны в файловой системе. Таким образом, надежность Вашего репозитория подрывной деятельности зависит от качества Вашей файловой системы, OS и системы хранения.
  • Поэтому я рекомендовал бы Солярис 10 с ZFS как файловая система. ZFS имеет действительно большие функции файловой системы производственных систем. Но прежде всего это обеспечивает вычисление контрольной суммы целостности данных. Таким образом с этой суммой исходного кода в репозитории подрывной деятельности Вы не должны будете волноваться о повреждении репозитория из-за тихой битовой ошибки жесткого диска или кабельной битовой ошибки или контроллера. К настоящему времени ZFS достаточно зрел, что он может безопасно использоваться в качестве UFS или безотносительно замены.
  • я не знаю о требованиях к аппаратным средствам. Возможно, Collabnet мог дать Вам совет.
  • , Но действительно хорошее начало (который мог использоваться в качестве устройства хранения данных NFS или резервного хранилища, если бы это оказывается слишком медленным - Вы определенно будете в состоянии хорошо использовать его так или иначе), было бы второе поколение thumper, т.е. Пожар в Sun Сервер X4540 : Вы можете иметь (все в хорошем 4U Сервер Стойки за 80 000$ (объявленная цена - это будет, вероятно, договорным)): Дисковое пространство на 48 ТБ!, 8 AMD Opteron CPU cores, RAM на 64 ГБ, Солярис 10 предварительно установленной, 3-летней Платиновой поддержки программного и аппаратного обеспечения со стороны солнца. Таким образом, простые аппаратные средства и цена поддержки за этот сервер составили бы 25$ на рабочее место Ваших 3 000 Разработчиков.
  • Для уверения действительно большой безопасности данных Вы могли разделить эти 48 жестких дисков следующим образом: 3 диска для операционной системы (Набег с 3 путями 1 зеркало), 3 горячих резервирования (не используемый, на резервном устройстве в случае отказа других дисков), zfs пул 14 Набегов с 3 путями 1 зеркало (14*3=42 диски) для репозитория подрывной деятельности. Если бы требуется заполнить пространство Набега ZFS на 14 ТБ только на 80% тогда, это было бы приблизительно 10 тебибайт реального пространства полезной дисковой емкости для репозитория, т.е. в среднем 3 ГБ на разработчика.
  • С этой конфигурацией: Подрывная деятельность 1.6 на Sun x4540 thumper с Набегом с 3 путями на 10 тебибайт 1 избыточное и проверенное суммированием дисковое пространство ZFS это должно быть действительно серьезным запуском.
  • , Если вычислить питание не достаточно для 3 000 +, разработчики, чем Вы могли бы купить более раскормленный сервер, который мог использовать дисковое пространство thumper. Если производительность диска является слишком медленной, Вы могли бы поднять трубку огромный массив быстрых дисков scsi к вычислительному серверу и использовать thumper в качестве решения для резервного копирования.
  • , Конечно, имело бы смысл получать консалтинговые услуги от collabnet относительно планирования и развертывания этого сервера подрывной деятельности и получать платиновую поддержку аппаратных средств и операционной системы Solaris от солнца.
  • Редактирование (отвечают на комментарий № 1): Для [1 152] распределенные команды там возможность конфигурации "главный-подчиненный" : Прокси WebDAV . У каждой локальной команды есть ведомый сервер, который копирует репозиторий. Разработчики получают весь контроль от этого ведомого устройства. checkins передаются прозрачно от ведомого устройства до ведущего устройства. Таким образом ведущее устройство является всегда текущим. Подавляющее большинство трафика является контролем: Каждый разработчик получает каждую регистрацию любые фиксации разработчика. Таким образом, трафик контроля должен составить 99,97% трафика с 3 000 разработчиков. Если бы у Вас есть локальная команда с 50 разработчиками, трафик контроля был бы уменьшен на 98%. checkins не должен быть проблемой: как быстро кто-либо может ввести новый код? Очевидно, для малочисленной команды Вы не купите thumper. Вам просто нужно поле с достаточным пространством на жестком диске (т.е. если Вы намереваетесь держать репозиторий дыры 10 ТБ). Это может быть raid5 конфигурация, поскольку потеря данных не является концом компании. Вам не будет нужен Солярис также. Вы могли поместить Linux на него, если местные жители будут более довольны им. Снова: спросите консультанта как collabnet, если это - действительно звуковое понятие. С этим много мест это не должна быть проблема заплатить за одну консультацию времени. Они могут настроить все это. Sun поставляет поле с предварительно установленным solaris. У Вас есть поддержка солнца. Таким образом, Вам не будет нужен solaris гуру на сайте, поскольку конфигурация не должна изменяться в течение следующих лет. Эта конфигурация означает, что
    • медленная строка от команды к headquarter не будет забита с избыточными данными контроля и
    • , члены локальной команды могут получить свой контроль быстро
    • , это существенно уменьшило бы загрузку в thumper - это означает с той конфигурацией, которую Вам не придется взволновать вообще, способен ли thumper к обработке загрузки
    • , это уменьшает затраты пропускной способности
  • Редактирование (после выпуска M3000): намного более экстремальная аппаратная конфигурация, предназначенная еще больше к безумной целостности данных , была бы комбинацией сервер M3000 и массив J4500:
    • Массив хранения данных J4500 является практически thumper, но без мощности ЦП и внешние интерфейсы хранения, который позволяет ему быть подключенным к серверу.
    • Сервер M3000 является сервером Sparc64 по цене среднего уровня с функциями RAS высокого класса. Большинство каналов передачи данных и даже регистры CPU проверены суммированием, и т.д. RAM не является только защищенным ЕЭС, но и имеет эквивалент функции IBM Chipkill: это - налет на память: не только единственные битовые ошибки обнаружены и исправлены, но и все микросхемы памяти могут перестать работать полностью, в то время как никакие данные не потеряны - подобный сбою жестких дисков в массивах RAID.
    • , Поскольку файловая система ZFS делает основанное на ЦП ошибочное вычисление контрольной суммы на данных, прежде чем это прибудет из, или после того, как это переходит к ЦП, качество контроллера запоминающих устройств и кабельные соединения J4500 не важны. Какие вопросы являются возможностями предотвращения и обнаружения битовой ошибки ЦП M3000, Памяти, контроллера памяти, и т.д.
    • Unfortuntely, высококачественные карты памяти, которые солнце использует для улучшения качества, еще больше так очень дорого, что комбинация четырех ядер (восемь потоков) Поршень на 4 ГБ M3000 + J4500 на 48 ТБ была бы примерно эквивалентна thumper, но если требуется увеличить память сервера с 4 ГБ до 8, 16 или 32 ГБ в целях кэширования в оперативной памяти, цена повышается круто. Но возможно конфигурация на 4 ГБ даже была бы достаточно, если конфигурация "главный-подчиненный" для распределенных команд используется.
    • Эта комбинация аппаратных средств стоила бы мысли, если исходный код и целостность данных этих 3 000 репозиториев разработчика оценены чрезвычайно высоко управлением. Тогда также имело бы смысл добавлять два или больше thumpers как вращающееся решение для резервного копирования (не необходимый, чтобы защитить от отказа оборудования, но защитить от ошибок администратора или для удаленных резервных копий в случае физических бедствий).
    • , Поскольку это было бы Sparc и не x86 решением, там сертифицированы двоичные файлы Подрывной деятельности Collabnet для этой платформы, доступной свободно.
  • Одним из преимуществ подрывной деятельности является также превосходная документация: существует превосходная книга от O'Reilly ( Управление версиями с Подрывной деятельностью ) также доступна бесплатно как PDF или версия HTML .
  • Для подведения его: С Подрывной деятельностью комбинации 1.6 + Солярис 10 + 3-way-raid-1 избыточный и проверенный суммированием ZFS + thumper + репликация сервера "главный-подчиненный" для локальных команд + поддержка солнца + collabnet/clearvision/orcaware/Karl консультация Vogel + превосходное и бесплатное руководство подрывной деятельности для всех разработчиков у Вас должно быть решение, которое обеспечивает
    • Чрезвычайно Высокая Безопасность Данных (очень важный для такого большого количества исходного кода - Вы не хотите повреждать свой репозиторий, битовые ошибки действительно происходят, жесткие диски действительно перестали работать!) У Вас есть один репозиторий основных данных, который содержит все Ваши версии/изменения действительно надежно: основная функция систем управления исходным кодом.
    • Зрелость - Подрывная деятельность использовалась многими, многими компаниями и проектами с открытым исходным кодом.
    • Масштабируемость - С репликацией "главный-подчиненный" у Вас не должно быть проблемы загрузки на главном сервере: загрузка checkins незначительна. Контроль обрабатывается ведомыми устройствами.
    • Никакая Высокая Задержка для локальных команд позади медленных соединений (из-за репликации)
    • А низкая цена: подрывная деятельность является бесплатной (никакой сбор на рабочее место), превосходная свободная документация, за трехлетний период только 8$ на рабочее место в год затраты на аппаратное обеспечение и затраты на поддержку для главного сервера, дешевые поля Linux для ведомых устройств, одноразового консультирования от collabnet и. al., низкая пропускная способность стоит из-за репликации "главный-подчиненный".
    • Простота администрирования: По существу никакое администрирование главного сервера: консультант по подрывной деятельности может развернуть все. Штат Sun подкачает неисправные жесткие диски и т.д. Ведомые устройства могут быть полями Linux или независимо от того, что навыки администрирования доступны на локальных сайтах. Превосходная документация подрывной деятельности.
30
задан Carsten 1 December 2009 в 22:12
поделиться

6 ответов

& nbsp; - это только пробел в HTML. Воспользуйтесь парсером HTML для извлечения простого текста. и \ s должны работать нормально.

11
ответ дан 27 November 2019 в 23:36
поделиться

Вы прояснили вопрос так, как я ожидал: на самом деле вы не ищете строковый литерал & nbsp; , как многие здесь, кажется, думают, и для которого решение слишком очевидно.

К сожалению, нет возможности сопоставить их с помощью регулярного выражения. Лучше всего включать в шаблон определенные кодовые точки, например: "[\\ s \\ xA0]" .

Отредактируйте , как выяснилось в одном из комментариев, вы можете использовать недокументированный "\\ p {Z}" для этого. Алан, не могли бы вы оставить комментарий, как вы это узнали? Это весьма полезно.

11
ответ дан 27 November 2019 в 23:36
поделиться

& nbsp; не является пробельным символом, что касается регулярных выражений. Вам нужно либо изменить регулярное выражение, чтобы включить эти строки в дополнение к \ s, например / (\ s | & nbsp; |% 20) /, либо предварительно проанализировать содержимое строки, чтобы получить представление данных в формате ASCII или Unicode.

Здесь вы смешиваете уровни абстракции.

Если после внимательного перечитывания вопроса вам кажется, что это так, вам нужно найти способ сопоставить все пробельные символы, относящиеся к стандартному ASCII, плюс пробельные кодовые точки, \ p {Z} или \ p {Zs} выполнит работу.

Вам действительно следует прояснить свой вопрос, потому что он ввел в заблуждение множество людей (даже если вы дали правильный ответ, чтобы получить несколько голосов против).

36
ответ дан 27 November 2019 в 23:36
поделиться

& nbsp; не является пробелом. Это последовательность кодировки символов, представляющая пробелы в HTML. Скорее всего, вы захотите преобразовать текст в кодировке HTML в обычный текст, прежде чем выполнять сопоставление строки с ним. Если это так, посмотрите вверх javax.swing.text.html

2
ответ дан 27 November 2019 в 23:36
поделиться

Только символы регулярного выражения не зависят от кодировки. Вот список некоторых символов, которые - в Unicode - не печатаются:

Сколько непечатаемых символов обычно используется?

0
ответ дан 27 November 2019 в 23:36
поделиться

Вот краткое изложение нескольких конкурирующих определений "пробелов":

http://spreadsheets.google.com/pub?key=pd8dAQyHbdewRsnE5x5GzKQ

чтобы явно перечислить дополнительные, которые вам важны, но не совпадающие с одним из сборных.

3
ответ дан 27 November 2019 в 23:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: