Вопрос по регулярным выражениям |
Здравствуйте, гость ( Вход | Регистрация )
Вопрос по регулярным выражениям |
26.1.2012, 11:25
Сообщение
#1
|
|
Участник Группа: Пользователи Сообщений: 31 Регистрация: 15.6.2011 Из: г. Владивосток Пользователь №: 9 350 Спасибо сказали: 0 раз |
Делал, делал я свой хаб и уткнулся в проблему: не работает команда $SR. Вскоре определился, что дело все в Regex'ах, а именно, проверка на качество команды всегда отрицательное. Вот плохое выражение:
Код ^\$SR\s\S*\s.*\x05.*\s\d*\/\d*\x05.*\s\S*\x05\S*\| Может кто нибудь подскажет, как мне быть с 5-ым символом ASCII? Мне кажется, что именно в нем проблема. Заранее спасибо. |
|
|
26.1.2012, 11:33
Сообщение
#2
|
|
Белый Волк Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз |
А какое действие пятого символа? Что он собой представляет?
Может, найдётся аналог для записи попроще.. |
|
|
26.1.2012, 12:12
Сообщение
#3
|
|
Освоившийся участник Группа: Пользователи Сообщений: 391 Регистрация: 4.11.2009 Из: Дом Пользователь №: 4 923 Спасибо сказали: 239 раз |
Ksan, разделитель это. В протоколе описано.
arktik, Пиши так: Код sPattern = "^\$SR\s\S*\s.*"..string.char(5)..".*\s\d*\/\d*"..string.char(5)..".*\s\S*"..string.char(5).."\S*\|" Эмс... Я что-то подумал что это на LUA. Вижу что нет. Неплохо бы указать язык. Тогда и будут предложения по записи. |
|
|
26.1.2012, 13:28
Сообщение
#4
|
|
Участник Группа: Пользователи Сообщений: 31 Регистрация: 15.6.2011 Из: г. Владивосток Пользователь №: 9 350 Спасибо сказали: 0 раз |
Эмс... Я что-то подумал что это на LUA. Вижу что нет. Неплохо бы указать язык. Тогда и будут предложения по записи. Я использую Java. arktik, Пиши так: Код sPattern = "^\$SR\s\S*\s.*"..string.char(5)..".*\s\d*\/\d*"..string.char(5)..".*\s\S*"..string.char(5).."\S*\|" Я не знал, что можно так просто вставить любой символ в паттерн. Попробую-ка я на яве так сделать. |
|
|
26.1.2012, 13:38
Сообщение
#5
|
|
Освоившийся участник Группа: Пользователи Сообщений: 391 Регистрация: 4.11.2009 Из: Дом Пользователь №: 4 923 Спасибо сказали: 239 раз |
Если Java, то "\x05" будет достаточно. Может быть регулярное выражение составлено не верно?
ADD: У меня получилась такая регулярка: Код ^\$SR\s\S+\s.+\x05\d+/\d+\x05.+\s([^:]+:\d+)?(\x05\S+)?| На основе: Цитата $SR [Ник_ответчика] [Результат][0x05][Свободные_слоты]/[Всего_слотов][0x05][Имя_хаба] ([IP_хаба:Порт]){[0x05][Целевой_ник]}|
|
|
|
Похожие темы
|
Сейчас: 23.11.2024, 1:30 |