Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
 |  |  |
Они и так унифицированны (User Agent ограничен двойными кавычками) 22.01.04 18:34 Число просмотров: 1264
Автор: vitaliy_m Статус: Незарегистрированный пользователь
|
|
|
|
<programming>
|
RegExp HELP! как \".\" включая \".\\\".\" 22.01.04 07:51
Автор: vitaliy_m Статус: Незарегистрированный пользователь
|
Надо грамотно разобрать лог Апача, где очень много побобного:
... "-" "...Windows NT 5.0; \".......\" ..."
Как с этими \" боротся? Я уже два дня над этим ... Ж%-[]
|
 |
а если позаменять все \" на просто " 22.01.04 13:58
Автор: ZaDNiCa <indeed ZaDNiCa> Статус: Elderman
|
|
и дальше уже потом спокойно обрабатывавать лог?
|
 |  |
А парность кавычек при этом не потеряется? 22.01.04 16:57
Автор: amirul <Serge> Статус: The Elderman
|
> и дальше уже потом спокойно обрабатывавать лог? Насколько я понял проблема как раз в том, чтобы найти пару открывающая-закрывающая, пропуская при этом все проэскейпленные.
Когда закавыченный кусок вырезан, разэскейпировать внутренности - как раз не проблема.
|
 |  |  |
Угу, протормозил, виноват 22.01.04 18:51
Автор: Ktirf <Æ Rusakov> Статус: Elderman
|
|
Для этого случая у Фридла в "Регулярных выражениях" была какая-то колбаса, но сейчас я ее по памяти не воспроизведу :(
|
 |  |  |
Совершенно верно - так не покатит 22.01.04 18:31
Автор: vitaliy_m Статус: Незарегистрированный пользователь
|
|
|
 |  |
Согласен, по-моему, проще сначала унифицировать разделители 22.01.04 15:44
Автор: Ktirf <Æ Rusakov> Статус: Elderman
|
|
|
 |  |  |
Они и так унифицированны (User Agent ограничен двойными кавычками) 22.01.04 18:34
Автор: vitaliy_m Статус: Незарегистрированный пользователь
|
|
|
 |
Не уверен, но просто нужно искать любое количество \\\" и других символов, ограниченных двумя \" 22.01.04 11:48
Автор: amirul <Serge> Статус: The Elderman
|
> Надо грамотно разобрать лог Апача, где очень много > побобного: > ... "-" "...Windows NT 5.0; \".......\" ..." > Как с этими \" боротся? Я уже два дня над этим ... Ж%-[] Что-то типа такого/\\"(?:\\\\\\")*\\"/
Насчет альтернативы с точкой я не уверен, лучше туда включить все, кроме \ и "
Greedy поиск найдет самую длинную подстроку, соотвествующую данному регексу
|
 |  |
Не работает - там бекслеши внунтри есть 22.01.04 18:44
Автор: vitaliy_m Статус: Незарегистрированный пользователь Отредактировано 22.01.04 18:45 Количество правок: 1
|
> Что-то типа такого/\\"(?:\\\\\\")*\\"/ > Насчет альтернативы с точкой я не уверен, лучше туда > включить все, кроме \ и " Ну оно примерно так и было /\"([^\"]*)\"/ Только так поиск отваливается на проэскейпленных ковычках.
/\"([^\"\\]*)\"/ то же не кактит - на вот таком клиенте:
"Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0; \xd2\xce \"\xcd\xce\xc2\xc8\xcd\xc8\" (\xb2\xed\xf4\xee\xf0\xec\xe0\xf6\xb3\xe9\xed\xe8\xe9 \xe2\xb3\xe4\xe4\xb3\xeb))"
|
 |  |  |
Не, для этого случая есть специальный паттерн в регвырах 22.01.04 18:52
Автор: Ktirf <Æ Rusakov> Статус: Elderman Отредактировано 22.01.04 18:54 Количество правок: 1
|
|
Фридл, "Регулярные выражения" - там очень изящная обработка получается - штука называется "раскрутка циклов", если ничего не путаю.
|
|
|