Модераторы: ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> подскажите регулярку. я в них не ферштейн :( 
V
    Опции темы
boostcoder
Дата 1.4.2011, 22:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: нет
Всего: 110



всем доброго вечера.
подскажите с регуляркой. я в них вообще не разбираюсь...

какой тип регулярок?... эм.. вопрос однако.
пример:
Цитата

'()(#[^\r\n]*)()'


в общем нужна регулярка для поиска hex значений, и десятичных, в соответствии с синтаксисом Си.

спасибо.

PM WWW   Вверх
gcc
Дата 1.4.2011, 23:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Агент алкомафии
****


Профиль
Группа: Участник
Сообщений: 2691
Регистрация: 25.4.2008
Где: %&й

Репутация: нет
Всего: 17



boostcoder, а что такое hex?
это так?
Код

/[0-9A-F]{2}h/

PM WWW ICQ Skype GTalk Jabber   Вверх
boostcoder
Дата 1.4.2011, 23:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: нет
Всего: 110



Цитата(gcc @  1.4.2011,  23:06 Найти цитируемый пост)
а что такое hex?

0x65, 0x45, и т.д..

PM WWW   Вверх
froex
Дата 1.4.2011, 23:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 6.3.2009

Репутация: нет
Всего: нет



Код
\b0x(?:[0-9A-Fa-f]{8})\b


Это сообщение отредактировал(а) froex - 1.4.2011, 23:26
PM MAIL ICQ   Вверх
boostcoder
Дата 1.4.2011, 23:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: нет
Всего: 110



в общем методом тыка, и подсказок, получил такое выражение:
Цитата

'()(\\b0x[0-9A-Fa-f]{1,})()'

недостаток в том, что если к hex`у дописать что-нибудь, то hex все равно совпадает. а не должен.

PM WWW   Вверх
alezzz
Дата 2.4.2011, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


сплю...
**


Профиль
Группа: Участник
Сообщений: 499
Регистрация: 17.8.2009

Репутация: 11
Всего: 14



boostcoder, зачем нужны пара пустых скобок в начеле и конце выражения?
PM MAIL   Вверх
boostcoder
Дата 3.4.2011, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: нет
Всего: 110



alezzz, я не знаю. так в коде записаны другие регулярки.
PM WWW   Вверх
alezzz
Дата 3.4.2011, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


сплю...
**


Профиль
Группа: Участник
Сообщений: 499
Регистрация: 17.8.2009

Репутация: 11
Всего: 14



тогда покажите случай когда к hex что-то дописано и выражение совпадает, что именно там дописано? на каком языке реализуете регулярку (какой библиотекой), ведь не на перле?
PM MAIL   Вверх
boostcoder
Дата 3.4.2011, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: нет
Всего: 110



alezzz, вот: http://liveworkspace.org/code/55b6122f4e29...025d7ef0f1d7242
в коде редактора вот что записал. но похоже не правильно:
Код

        'precompiler' : {
            'search' : '()(#[^\r\n]*)()' // это выражение писалось не мной, и работает корректно.
            ,'class' : 'precompiler'
            ,'modifiers' : 'g'
            ,'execute' : 'before'
        }
        ,'hexvals' : { // это мое для hex
            'search' : '()(\\b0x[0-9A-Fa-f]{1,})()'
            ,'class' : 'hexvals'
            ,'modifiers' : 'g'
            ,'execute' : 'before'
        }
        ,'decvals' : { // это мое для десятичных
            'search' : '()(\\b[0-9]{1,})()'
            ,'class' : 'decvals'
            ,'modifiers' : 'g'
            ,'execute' : 'before'
        }



Добавлено через 1 минуту и 42 секунды
Цитата(alezzz @  3.4.2011,  15:47 Найти цитируемый пост)
на каком языке реализуете регулярку (какой библиотекой), ведь не на перле?

код написан на JS. не мной. я на с++ пишу.

Добавлено через 4 минуты и 11 секунд
Цитата(boostcoder @  3.4.2011,  15:54 Найти цитируемый пост)
код написан на JS.

упс smile 
так мне в раздел по JS ?
или все таки регулярка перловая?
PM WWW   Вверх
alezzz
Дата 3.4.2011, 16:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


сплю...
**


Профиль
Группа: Участник
Сообщений: 499
Регистрация: 17.8.2009

Репутация: 11
Всего: 14



Цитата

0x56as - тоже строка

это не совсем строка по логике регулярного выражения, тут должно было совпасть "0x56a". 

попробуйте в таком виде:
'()(\\b0x[0-9A-Fa-f]{1,}\\b)()'

и если заработает, то попробуйте еще и без пустых скобок в начале/конце выражения smile
PM MAIL   Вверх
boostcoder
Дата 3.4.2011, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: нет
Всего: 110



Цитата(alezzz @  3.4.2011,  16:47 Найти цитируемый пост)
тут должно было совпасть "0x56a"

да. но учитывая что есть еще и символ 's' - это строка. т.е. нужно чтоб регулярка понимала что это не hex.

Цитата(alezzz @  3.4.2011,  16:47 Найти цитируемый пост)
попробуйте в таком виде:

попробовал.
еще регулярку для десятичных изменил так "'()(\\b[0-9]{1,}\\b)()'", и все стало как надо smile
http://liveworkspace.org/code/1caef5d7c1f5...c6c0b644928c91a


спасибо.


Это сообщение отредактировал(а) boostcoder - 3.4.2011, 16:57
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Регулярные выражения | Следующая тема »


 




[ Время генерации скрипта: 0.1051 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.