|
|
|
Supreme Being
      
участник
Last Login: 03.03.2006 19:03
Сообщ.: 1 908,
Visits: 21 011
|
|
| да, действительно поддерживаются
|
|
|
|
|
Supreme Being
      
участник
Last Login: 15.03.2003 7:02
Сообщ.: 88,
Visits: 980
|
|
2 t1k & boombastik
Ну перестаньте вы мучать бедный маздай! Перл был писаный совсем не под него. У меня (на Linux) программа нормально отрабатывала числа из семи нулей... (90000000) C добавлением еще одного нуля, она честно подумала и сказала Out of memory! :)
2 t1k как ты понимаешь, запустить твое ВБ чудо на *никсах я не могу. Если не сложно, попробуй замерять скорость выполнения ВБ и моего Перл. Мне очень интересна его скорость на Вынь... :)
|
|
|
|
|
Supreme Being
      
модератор
Last Login: 10.11.2008 0:08
Сообщ.: 1 298,
Visits: 12 501
|
|
| Извини, ничем не могу помочь, по должности положено работать с Win 2000, хотя под Linux действительно отработала 1000000 слету, а вот на 90000000 все еще висит... и жрет 99.9% CPU :(
|
|
|
|
|
Supreme Being
      
участник
Last Login: 13.09.2007 1:50
Сообщ.: 87,
Visits: 900
|
|
2t1k:
может ты мне поможешь подправить РВ ;)
я пытаюсь разобрать Request посланный постом multipart/form-data вобщем-то я уже сделал это, но хотелось бы чтобы все обрабатывалось через РВ
короче РВ у меня такое "; name=""(\w+)""(; filename=""([\w\\\.:\-]+)?""\rContent-Type: ([\w\.\/\-]+))?"
и субматчем вытаскиваю соответсвующие части... вот... а контент вытаскиваю отдельно, описываю почему:
если использовать так: "; name=""(\w+)""(; filename=""([\w\\\.:\-]+)?""\rContent-Type: ([\w\.\/\-]+))?\r\r(.+)\r-{29}"
контент вытаскивается... но (.+) не охватывает абсолютно все и некоторые файлы не вытаскиваются из реквеста... если же вместо (.+) использовать ([\u0000-\u00FF]+), то ессно он сжирает все после первого нахождения ; name="blabla"... и т.п. как уменьшить аппетит ([\u0000-\u00FF]+), чтобы внутри не было -{29} я не знаю как, в VBScript слишком кастрированные РВ :(((
а то я контент вытаскиваю функцией Mid, определяя его положение по: nPosBegin = Match.FirstIndex + Len(Match.Value) + 5 nPosEnd = InStr(nPosBegin, sRequest, sBoundary) - 2 sContent = Mid(sRequest, nPosBegin, nPosEnd-nPosBegin)
sBoundary - разделитель, для которого подошло бы -{29}\w{12}
|
|
|
|
|
Supreme Being
      
участник
Last Login: 12.02.2004 16:41
Сообщ.: 1 756,
Visits: 19 372
|
|
Все с upload возишься? В той теме я уже написал минимальный компонент для upload, но запостить не успел, ибо тему закрыли, а зря.
Разбирать upload можно и без RegExp.
А в твоем случае возможно поможет следуюшее [\u0000-\00FF]+?
знак вопроса делает RegExp из "жадного", захватывающий максимально возможное в "нежадный", захватывающий минимально возможное.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 13.09.2007 1:50
Сообщ.: 87,
Visits: 900
|
|
я с ним не вожусь...!!! :) я уже написал свой класс, который конешно все кульно рулит ;)) при этом он конешно же как полагается маленький, компактный и красивый ;))
============ помимо файла мне надо было из рэквеста поля доставать, но не все готовые классы это предоставляют... потом нашел какой-то, вроде можно получать поля..., но там нельзя получить массив, например от select'a или checkbox'a
надоело мне все это, больше времени на поиски потратил, зато теперь я разобрался как парсится реквест и еще много в чем ;))), и написал свой класс... ============
> Разбирать upload можно и без RegExp ну естественно можно, так все аспэшные классы для аплоада и написаны (по крайней мере те которые я видел, штук 5-7), но это граааамоздко, не красиво и код трудно переваривается
> А в твоем случае возможно поможет следуюшее [\u0000-\00FF]+? пасиб помогло, правда пришлось еще поковыряться пока не выяснил что надо \r в конце записать так (\r)? и помоему надо было все таки [\u0000-\uFFFF] написать, теперь это выглядит вот так:
"; name=""(\w+)""(; filename=""([\w\\\.:\-]+)?""\rContent-Type: ([\w\.\/\-]+))?\r\r([\u0000-\uFFFF]+?)(\r)?-{29}\w{12}"
;)
вот... теперь реквест парсится одним РВ ;)
=============================================================== кстати... про класс killerm'а весь его не проверял, но вот процедура сохранения у него не правильно работает. во-первых там все можно сделать одним стримом во-вторых ни каких смещений на 2 байта там не возникает!!!
могу объяснить, только попозже :)
|
|
|
|
|
Forum Guru
      
участник
Last Login: 16.05.2007 12:30
Сообщ.: 71,
Visits: 127
|
|
| А как обнулить коллекцию??? а то когда по новой ищеш match он добавляет к старым матчам!?!?!
|
|
|
|