Nano Hash - криптовалюты, майнинг, программирование

отклонить эти иностранные символы ū ų š ą ė ž į ę č в регулярном выражении

Как следует из названия, я просто пытаюсь придумать регулярное выражение, которое отбрасывало бы следующие иностранные символы ū ų š ą ė ž į ę č, но просто не может добиться успеха. Те что я пробовал ниже выглядят конечно несуразно и самое главное не работают. Буду признателен за любую помощь/комментарии/советы вообще. Большое спасибо!

/^[[:alpha:]\s]+/u/ 

/^[ū ų š ą ė ž į ę č]+/

/^[[:alpha:]\s]+/u$/ 

/^[ū ų š ą ė ž į ę č]+$/

=== ОБНОВЛЕНИЕ. ===

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

/^.*č|ę|ė|į|š|ų.*$/

Однако теперь он срабатывает OK только для символа š, все остальные почему-то не работают. Любые дальнейшие комментарии кто-нибудь, пожалуйста? Спасибо!

=== ОБНОВЛЕНИЕ 2. ===

Я был неправ. Это не удается и на š. Теперь у меня есть регулярное выражение, но я считаю, что оно сводится к правильной кодировке и прочему.

=== ОБНОВЛЕНИЕ 3. ===

эхо $LANG возвращает:

en_US.UTF-8

локальный шармап повторяет:

UTF-8

локаль -а возвращает:

C
C.UTF-8
en_US.utf-8
POSIX
26.06.2015

  • Пробовали ли вы свой фильтр/выражение с обычными английскими символами, чтобы проверить, работает ли он? 26.06.2015
  • Спасибо за ваше предложение. Да, он отлично работает с обычными английскими символами. 26.06.2015
  • Если эти символы отображаются в расширенный набор символов, вы можете выполнить поиск по этому... stackoverflow.com/questions/13970327/ 26.06.2015
  • В каких инструментах вы собираетесь использовать регулярные выражения? В GNU grep (2.16) и sed (4.2.2) следующие команды работают должным образом: grep '[ūųšąėžįęč]', grep '[[:alpha:]]' и sed 's/[ūųšąėžįęč]/X/g'. ... но моя локаль содержит .UTF-8. Если у вас нет, вы должны указать его как LC_CTYPE=C.UTF-8 grep --color=yes '[[:alpha:]]'. 26.06.2015
  • Кодировка локали и кодировка символов файла должны совпадать. Если вы сохраните файл в кодировке UTF-8, но ваша система использует ISO-8859-7, у вас возникнут проблемы, поскольку эти символы будут закодированы как 2 байта (или больше). Эта проблема также становится сложной, если учесть, что символы могут быть заданы в их разложенной форме при использовании UTF-8 или другой кодировки символов Unicode для файла, что означает, что является \u0075\u0304 (закодированным как UTF-8, UTF-16 или UTF- 32). Конечно, это должно быть редким случаем, но мне все еще интересно, почему вы хотите специально фильтровать эти символы... 26.06.2015
  • Интересный комментарий, Хроно, спасибо. Я постараюсь перепроверить их. Это символы, которые обычно используются в спаме, нацеленном на мою систему, поэтому я решил отклонить любые слова, содержащие любой из этих символов. 26.06.2015
  • В текстовых файлах (не двоичных), обрабатываемых текущим программным обеспечением, вы редко встретите кодировки, отличные от ISO-8859-1/ASCII и Unicode UTF-8. 26.06.2015
  • Спасибо Пабук за ваш вклад. Я все обдумаю и попробую протестировать (если придумаю, как это сделать). Я на UTF-8, это точно. Тестируя его дальше, я обнаружил одну интересную вещь. Я попытался разделить символы, и это работает нормально только на š, все остальные, похоже, не работают. Используется следующее правило: /^.*č|ę|ė|į|š|ų.*$/ Помогает ли кто-нибудь подсказать, где теперь искать? 26.06.2015
  • моя система - UTF-8, как сказано в моем вопросе, и мой файл --mime-encoding имя файла неизвестен-8bit. Это то, что вызывает проблему Chrono? 26.06.2015
  • С 8-битными наборами символов лучшее, что вы можете сделать, это угадать. Если символ закодирован, например, с помощью Windows-1257, он представлен 8-битным кодом символа \xE8. Это также символ , закодированный с использованием ISO-8859-1 и Þ в кодовой странице IBM 850. Очевидно, file не понимает Windows кодовые страницы, а некоторые версии file не понимают файлы, закодированные с использованием одной из кодировок ISO 8859 либо. В обоих случаях вы увидите unknown-8bit. 26.06.2015
  • Вместо использования file попробуйте один из вариантов, перечисленных в ответах на связанные вопросы. 26.06.2015
  • Эй, Хроно! Спасибо за дальнейшие советы! Тем не менее, я считаю, что это не проблема. Я легко преобразовал свой файл в UTF-8, к счастью, это заняло буквально секунду. Теперь моя система - UTF-8, а мои файлы - UTF-8, но, тем не менее, несмотря на то, что теперь она соответствует кодировке, которая, в свою очередь, также соответствует вашей теории, она все еще не работает. Я имею в виду, что он не может видеть эти иностранные символы. Тем временем я перешел к другому регулярному выражению для всей кодировки, и пока все работает нормально. Хотя я надеюсь, что это решение временное, потому что оно блокирует немного больше, чем ожидалось. 28.06.2015
  • Если подумать, вся эта блокировка кодировки обеспечивает еще большую защиту от спама от всевозможных почтовых роботов и скриптов, так что я могу оставить это так. Люди легко будут следовать моему простому правилу, чтобы выразить это по-английски. Все остальные, такие как автоматические отправители, задания cron, списки рассылки и т. Д., А также те, кто не понимает английский, будут заблокированы, и это именно то, что мне нужно. Это решение пока находится в стадии тестирования, я внимательно слежу за тем, что блокируется, но цель достигнута, хотя она может быть не такой идеальной с более широкой реализацией и немного неудобной. 28.06.2015

Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..