Подробнее
What is he doing? Ir Tr • He is beginning to regex * '[a-zA-Z] '[0-I51 A(\+\d{1,2}\s)?\(? \d{3}\)?[\s.-)\d{3} [\s.-]\d{4}$ AS+@\S+\.\S+/ /л(([ло()[\]\\.,;:\з@"]+(\.[л<>()[\]\\." \s@"]+)*)l("-+,,)>@{(\[[0-9]{1.3}\.[0-9] (1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z \-0*9]+V)+[a-zA-Z]{2,}))$/
it-юмор,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор,The Matrix,Фильмы
Еще на тему
Если формат сам по себе юникодный, то разработчику практически ничего и не нужно делать, кроме как использовать исключительно юникодные аналоги функций вместо "обычных". В нормальных языках программирования вкупе с SDK такие функции должны быть.
Но вот пример с архивами коварен. ZIP-архивы - старый формат. Они могут использовать разнообразные однобайтовые кодировки, причем сама кодировка нигде в архиве не указывается. Распаковывающий пользователь должен сам понять, какой кодировкой пользовался запаковывающий пользователь, и выставить в настройках архиватора эту кодировку, чтобы корректно распаковать файл. Все настолько плохо, что даже по сей день пользователи Винды, Мака и Линукса нет-нет да и испытывают проблемы при обмене ZIP-архивами, хотя, казалось бы, у софта было больше 30 лет, чтобы сделать работу с этим форматом максимально простой и прозрачной для пользователя.
Мораль: выдумываешь консьюмерский формат - делай его юникодным (либо имей очень весомые основания поступать иначе).
если писать с нуля сразу под юникод - такого не будет.
например, Total Commander вплоть до версии 7.0 (может и старше) не умеет совершать операции над файлами с европейскими символами или иероглифами. а до версии 3.0 и с кириллицей у него были большие проблемы.
Я так и не смог постичь этого дзена, какая-то инопланетная дрянь блят.
Вот как раз только что удалил кусочек кода, хз чо он делает, в упор не помню зачем его когда-то добавил. Без него тоже все работает.
в строке "\uhello world!" он словит "hell".
хз ток зачем это.. контекста маловато, но видимо что-то преабразовывает/декодирует.
Работает как в JS, так и в python
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String#escape_sequences
https://docs.python.org/3/reference/lexical_analysis.html#string-and-bytes-literals
Говорят, даже в C++: https://stackoverflow.com/a/6797458
Послание читателям: "\u0442\u044b\u0020\u043f\u0438\u0434\u043e\u0440".
признаю: я сразу написал каммент и только потом вчитался и понял что речь про Юникод. Извиняйте)
Я даже пытался гуглить, чтобы понять что ета. Но гуглить эти шифры заведомо провальная идея)
А этот кусочек кода был из интернетов, поэтому остался таким вот загадочным.
Если ты ваяешь программу либо по работе, либо которой собираешься неоднократно пользоваться или публиковать, то использование DOM-парсеров - более правильный подход, снижающий вероятность ошибки, упрощающий код и последующие доработки. Пусть даже сама программа и будет чуть больше (однако при использовании нормального коробочного DOM-парсера - не сильно-то и больше).
Если тебе нужно один раз набыдлокодить скриптик, получить результат и забыть о нем, то делай как быстрее, конечно. Только это сложно назвать похвальным достижением, потому что это на уровне "ребят, я тут недавно забыл ключи дома, дверь захлопнул, но мне удалось влезть в открытую форточку", - все должны понимать, что по многим причинам в большинстве ситуаций в дом (no pun intended) нужно ходить через дверь, пользуясь с ключом.
Ваша регулярка и её матчи получат наиполнейший дамп того как работает машина, все группы символов и суб-матчи будут разложены, визуализированы, и даже всякие полезные коменты по стилистике оно, тащемта, тоже добавляет. Начните хуярить регулярки там где нужно, регулярно обращаясь за помощью к такому ресурсу, и вскоре регулярки превратятся в незаменимый, полезный и крайне эффективный инструмент. Больше никакой токенизации вручную, байтодрочерства и "я потом зделою конфиг потому что это долго а сейчас нахуярю статику в программу гвоздями". Capture-группы и рекурсия!
Это я делюсь опытом, спаибозавнимание
Ексель - за то, что для простых, казалось бы, операций требуется написать страницу формул.
Регулярные выражения - за то, что сам перестаешь понимать как работает регулярка через 10 минут после написания.