Усбагоился наконец?
Пришли только что! Обменял по курсу 89, 55 р за долл.
Поймите - это всё из области ненормального программирования. Регулярки - это зло. Стремитесь от них избавиться везде, где есть возможность.
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте ©
я то думал, что там за точки, а это просто пробелы так сайт подсвечивает, да, вам удалось оптимизировать лучше, единственное, что 14 наверное будет маловато, можно с запасом поставить 34:
(?<=[:;]) *(?:[A-Z][A-Za-z .]{1,34}[, ]*){1,3}(?=[;.])
на счёт того, что это не оптимально, не соглашусь, я думаю ТС будет обрабатывать на бэкенде, а не налету, а раз так, то и особо заморачиваться со скоростью работы не стоит, главное, чтобы помогало в работе
7.07 указал реквизиты. 8.07 отправили перевод. 11.07 перевод не удался и деньги вернулись.
Банк посредник:
Zhejiang Chouzhou Commercial BankCZCBCN2X
Почему вывод на КЕБ не будет работать?
потому что по правилам адсенса вывод доступен только на банки, у которых есть посредник (корреспондент) в сша, у китайского Zhejiang Chouzhou Commercial Bank его похоже нет, вот тут тоже пишут, что ничего не приходит на КЕБ: https://gamedev.ru/industry/forum/?id=267528&page=172
(172 страница)
так более оптимально, можно записывать не с какого по какой байт, а с какого байта и длину (C - до 256):
$f1 = fopen(__DIR__ . '/person_index.bin','wb+');$f2 = fopen(__DIR__ . '/person_data.bin','wb+');$from = 0;for($i=0;$i<=$max;$i++){ if(isset($data[$i])) { $len=strlen($data[$i]); fwrite($f1, pack('N', $from ).pack('C', $len )); fwrite($f2, $data[$i]); $from+= $len; } else { fwrite($f1, pack('N', 0 ).pack('N', 0 )); }}fclose($f1);fclose($f2);
а чтобы прочитать потом по идешнику $id, умножаем $id на 5 (N 4 байта + C 1 байт), читаем индекс с нужного места, 5 байт, определяем с какого байта надо читать датафайл и длину и читаем
ps: при использовании N - максимальный размер датафайла с данными, около 4 гигов
хорошая идея. взял на заметку.
fwrite($f, pack('a'. $maxnamelen , $data[$i] )); а вот эта штуковина не раздует слишком файл?
если например имя одно 3 символа. а другое 32. то он забьет чем эти пространства? дополнит 3 до 32 чем?
надо попробовать
дополнит нулл байтами, раздует, но итоговая база вряд ли будет какой-то очень большой, как другой рабочий вариант, если боитесь, что не хватит места на хостинге - подготовьте два датафайла:
- один из них будет индексом, в нём будут идешниками номера записей, а значениями, с какого по какой байт во втором датафайле находится содержимое
- второй - собственно содержимое, подряд, можно даже не паковать его, а просто подряд записывать
$f1 = fopen(__DIR__ . '/person_index.bin','wb+');$f2 = fopen(__DIR__ . '/person_data.bin','wb+');$from = 0;for($i=0;$i<=$max;$i++){ if(isset($data[$i])) { $to=$from+strlen($data[$i]); fwrite($f1, pack('N', $from ).pack('N', $to )); fwrite($f2, $data[$i]); $from = $to; } else { fwrite($f1, pack('N', 0 ).pack('N', 0 )); }}fclose($f1);fclose($f2);
а зачем вам вообще такая портянка, смешивать штаты с городами в одном списке:
Los Angeles, CA, USA
город
California, USA
штат
Ну что, остались тут живые погромисты? Нужна помошь в написании регулярки)
Ничего сложного, но я не часто пользуюсь регуляркой, а тут решил не городить всякие сплиты а забирать регуляркой
Есть текст такого вида:
```
This role may also be located in our Playa Vista, CA campus.Note: By applying to this position you will have an opportunity to share your preferred working location from the following: Mountain View, CA, USA; Atlanta, GA, USA; Boulder, CO, USA; Chicago, IL, USA; New York, NY, USA; Los Angeles, CA, USA; San Francisco, CA, USA; Washington D.C., DC, USA.```
Или такого
This role may also be located in our Playa Vista, CA campus.Note: Google’s hybrid workplace includes remote and in-office roles. By applying to this position you will have an opportunity to share your preferred working location from the following:In-office locations: San Francisco, CA, USA; Boulder, CO, USA; Los Angeles, CA, USA.Remote location(s): California, USA; Colorado, USA.```
Нужно забрать из текста все локации, на выходе должно быть так:
Mountain View, CA, USA; Atlanta, GA, USA; Boulder, CO, USA; Chicago, IL, USA; New York, NY, USA; Los Angeles, CA, USA; San Francisco, CA, USA; Washington D.C., DC, USA;
San Francisco, CA, USA; Boulder, CO, USA; Los Angeles, CA, USA; California, USA; Colorado, USA
У меня получается забрать это только двумя регулярками и обьединить. Кто сможет написать одну? Ну или просто варианты?
покажите свои регулярки, а мы подкорректируем