RegExp
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        


««12

RegExp Expand / Collapse
Автор
Сообщение
12.11.2001 15:57
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 03.03.2006 19:03
Сообщ.: 1 908, Visits: 21 011
да, действительно поддерживаются
Сообщ. #732446
12.11.2001 16:02
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 15.03.2003 7:02
Сообщ.: 88, Visits: 980
2 t1k & boombastik

Ну перестаньте вы мучать бедный маздай! Перл был писаный совсем не под него. У меня (на Linux) программа нормально отрабатывала числа из семи нулей... (90000000) C добавлением еще одного нуля, она честно подумала и сказала Out of memory! :)

2 t1k
как ты понимаешь, запустить твое ВБ чудо на *никсах я не могу. Если не сложно, попробуй замерять скорость выполнения ВБ и моего Перл. Мне очень интересна его скорость на Вынь... :)
Сообщ. #732447
12.11.2001 16:12
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

модератор
Last Login: 10.11.2008 0:08
Сообщ.: 1 298, Visits: 12 501
Извини, ничем не могу помочь, по должности положено работать с Win 2000, хотя под Linux действительно отработала 1000000 слету, а вот на 90000000 все еще висит... и жрет 99.9% CPU :(
Сообщ. #732450
10.06.2002 18:43
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme 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}
Сообщ. #752481
10.06.2002 19:11
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 12.02.2004 16:41
Сообщ.: 1 756, Visits: 19 372
Все с upload возишься? В той теме я уже написал минимальный компонент для upload, но запостить не успел, ибо тему закрыли, а зря.

Разбирать upload можно и без RegExp.

А в твоем случае возможно поможет следуюшее [\u0000-\00FF]+?

знак вопроса делает RegExp из "жадного", захватывающий максимально возможное в "нежадный", захватывающий минимально возможное.
Сообщ. #752484
10.06.2002 21:06
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme 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 байта там не возникает!!!

могу объяснить, только попозже :)
Сообщ. #752493
26.01.2007 12:39
Forum Guru

Forum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum Guru

участник
Last Login: 16.05.2007 12:30
Сообщ.: 71, Visits: 127
А как обнулить коллекцию??? а то когда по новой ищеш match он добавляет к старым матчам!?!?!
Сообщ. #910103
« пред. тема | след. тема »

««12

Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl, Alexey Spirin

Время GMT +3:00, Сейчас 12:06