The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

11.03.2010 23:56  Компания Google открыла исходные тексты библиотеки регулярных выражений RE2

Компания Google открыла под лицензией BSD исходные тексты RE2, написанной на языке C++ библиотеки для организации выполнения PCRE-совместимых регулярных выражений. Библиотека отличается высокой скоростью работы, хорошей безопасностью, поддержкой использования в многопоточных программах. RE2 позиционируется в качестве альтернативы реализаций регулярных выражений в PCRE, Perl и Python, особенно эффективной при обработке больших объемов данных.

Для обработки регулярных выражений в RE2 применен метод автомата, отличающийся линейной зависимостью между временем выполнения регулярного выражения и размером текста для которого оно применяется. В реализации регулярных выражений в Perl/PCRE подобная зависимость имеет близкий к экспоненциальному характер. С точки зрения потребления памяти, размер стека в RE2 имеет фиксированную величину. В RE2 поддерживается синтаксис базовых регулярных выражений Perl и PCRE.

  1. Главная ссылка к новости (http://google-opensource.blogs...)
Лицензия: CC-BY
Тип: К сведению
Ключевые слова: pcre, regex, re2, google
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.1, Аноним, 00:09, 12/03/2010 [ответить] [смотреть все]
  • +1 +/
    лучше чем буст?
     
     
  • 2.3, zhus, 00:33, 12/03/2010 [^] [ответить] [смотреть все] [показать ветку]
  • +1 +/
    да :)
     
     
  • 3.11, pavlinux, 01:53, 12/03/2010 [^] [ответить] [смотреть все]
  • +/
    >да :)

    sed !? Не?

     
  • 1.2, LolzN00b, 00:22, 12/03/2010 [ответить] [смотреть все]
  • –7 +/
    У Google пока ничего хорошего не было, кроме, быть может, поиска.
     
     
  • 2.4, ASM, 00:34, 12/03/2010 [^] [ответить] [смотреть все] [показать ветку]
  • +/
    Поиск построенный на плохих регекспах... Вероятно всё скоро измениться...
     
     
  • 3.13, Онаним, 03:59, 12/03/2010 [^] [ответить] [смотреть все]  
  • +/
    В поиске Google уже можно использовать regexp-ы?? Я опять проспал обед?
     
     
  • 4.23, ПринцЧорнойТьмы, 08:53, 12/03/2010 [^] [ответить] [смотреть все]  
  • +/
    http://www.google.com/codesearch -- тут можно.
     
  • 2.6, Ноним, 00:41, 12/03/2010 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    google search, google mail и самое главное google adwords и adsense на них они ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.14, аноним, 04:41, 12/03/2010 [^] [ответить] [смотреть все]  
  • –5 +/
    Поиск да codesearch очень да web-почта, да еще и прямо у большого брата, хорош... весь текст скрыт [показать]
     
     
  • 4.17, Ноним, 06:07, 12/03/2010 [^] [ответить] [смотреть все]  
  • +3 +/
    ad это поганая реклама, ее хорошей может разве что больной назвать Если бы т... весь текст скрыт [показать]
     
  • 3.10, pavlinux, 01:46, 12/03/2010 [^] [ответить] [смотреть все]  
  • +/
    Некоторые люди, сталкиваясь с проблемой, думают, - Я знаю, я буду использовать... весь текст скрыт [показать]
     
  • 1.9, pavlinux, 01:32, 12/03/2010 [ответить] [смотреть все]  
  • –1 +/
    > $ perl -e '("a" x 100000) =~ /^(ab?)*$/;'
    > Segmentation fault (core dumped)
    >$

    pavel@suse64:/tmp> perl -e '("a" x 100000) =~ /^(ab?)*$/;'
    pavel@suse64:/tmp> echo $?
    0

    Просто в гугле юзают х...вый Perl :)

     
  • 1.12, iZEN, 02:45, 12/03/2010 [ответить] [смотреть все]  
  • –2 +/
    Почему под BSDL? (Риторический вопрос)
     
     
  • 2.15, аноним, 04:42, 12/03/2010 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    >Почему под BSDL? (Риторический вопрос)

    А под чем еще?

     
     
  • 3.21, СуперАноним, 07:08, 12/03/2010 [^] [ответить] [смотреть все]  
  • –2 +/
    Библиотеку логично под LGPL
     
     
  • 4.25, www2, 09:27, 12/03/2010 [^] [ответить] [смотреть все]  
  • +2 +/
    Логично для кого?
     
  • 2.22, Аноним, 07:25, 12/03/2010 [^] [ответить] [смотреть все] [показать ветку]  
  • –2 +/
    потому что своя свобода дороже свободы какого-то там кода
     
  • 2.24, Michael Shigorin, 09:20, 12/03/2010 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Видимо, потому что PD не по всем юрисдикциям признаётся, а смысл выпуска -- стан... весь текст скрыт [показать] [показать ветку]
     
  • 1.16, ACCA, 05:43, 12/03/2010 [ответить] [смотреть все]  
  • +/
    >Для обработки регулярных выражений в RE2 применен метод автомата (http://swtch.com/~rsc/regexp/regexp1.html), отличающийся линейной

    Походу беспонтовый гон, либо в 2007 году был баг в Perl 5.8.7.


    $ perl -e '$n = 100; $x="a?"x $n . "a" x $n; $t = "a" x 100000; if ($t =~ /$x/){ print "match\n"; }'

    match

    Perl 5.10.0 отработал мгновенно, а обещали 10**15 лет.

     
  • 1.26, Дмитрий Телегин, 09:36, 12/03/2010 [ответить] [смотреть все]  
  • +/
    >С точки зрения потребления памяти, размер стека в RE2 имеет фиксированную величину

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

     
     
  • 2.27, Карбофос, 10:14, 12/03/2010 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    поиск результатов скана снифера если бы я часто такое использовал, то написал б... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.30, Unixoid_потому_что_кривые_руки_писали_этот_модуль, 12:46, 12/03/2010 [^] [ответить] [смотреть все]  
  • +/
    В boost кстати блочные регэкспы есть, я даже юзал когда-то вроде, уже не помню.
     
     
  • 4.32, Карбофос, 13:39, 12/03/2010 [^] [ответить] [смотреть все]  
  • +/
    спасибо за инфу, надо будет посмотреть...
     
  • 3.33, Дмитрий Телегин, 14:07, 12/03/2010 [^] [ответить] [смотреть все]  
  • +3 +/
    Написал свою маленькую шуструю программку, позволяющую искать в разных кодировка... весь текст скрыт [показать]
     
     
  • 4.35, Карбофос, 16:18, 12/03/2010 [^] [ответить] [смотреть все]  
  • +/
    а вот за открытый проект - плюсик
     
     
  • 5.37, Аноним, 18:21, 12/03/2010 [^] [ответить] [смотреть все]  
  • +/
    Ну разве что за это Потому что аффтар явно не осилил в дупель стандартную, тр... весь текст скрыт [показать]
     
     
  • 6.39, Карбофос, 20:14, 12/03/2010 [^] [ответить] [смотреть все]  
  • +/
    ну может он делал мультиплатформенную прогу в виндах с такими фишками, как grep... весь текст скрыт [показать]
     
     
  • 7.40, Xaionaro, 14:21, 13/03/2010 [^] [ответить] [смотреть все]  
  • +/
    Под винду ж вроде существует пакет GNU утилит.
     
  • 7.42, Mna, 16:24, 13/03/2010 [^] [ответить] [смотреть все]  
  • +/
    Cygwin существует и давно стабильно работает http cygwin com Недавно доделал... весь текст скрыт [показать]
     
     
  • 8.43, Карбофос, 17:12, 13/03/2010 [^] [ответить] [смотреть все]  
  • +/
    хех. да знаю я про это, народ. только далеко не все вантузятники это знают.
     
  • 7.46, Дмитрий Телегин, 08:58, 15/03/2010 [^] [ответить] [смотреть все]  
  • +/
    Не кросплатформенную, я на Debian давно Кстати если бы опция -F работала, то на... весь текст скрыт [показать]
     
  • 6.45, Дмитрий Телегин, 08:51, 15/03/2010 [^] [ответить] [смотреть все]  
  • +/
    Осилил и к сожалению проку от неё было немного Если она сейчас работает как пол... весь текст скрыт [показать]
     
     
  • 7.49, Дмитрий Телегин, 09:52, 15/03/2010 [^] [ответить] [смотреть все]  
  • +/
    Только что потестил опцию F и ничего радостного dd if dev zero of test bs 1M... весь текст скрыт [показать]
     
  • 1.28, svn, 10:26, 12/03/2010 [ответить] [смотреть все]  
  • +1 +/
    Не пойму ажиотажа.

    backreference NOT SUPPORTED. Вот и весь секрет трудоёмкость линейной.

     
     
  • 2.31, DeadLoco, 12:59, 12/03/2010 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    Да там не только бекреференсы пострадали, а вообще все тяжелые операции, включая... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.38, Аноним, 18:32, 12/03/2010 [^] [ответить] [смотреть все]  
  • +/
    Ну чего же сразу фигня то А если не нужны баки, а скорость и небольшое предска... весь текст скрыт [показать]
     
     
  • 4.44, DeadLoco, 19:05, 13/03/2010 [^] [ответить] [смотреть все]  
  • +/
    Тогда не нужно сравнивать с PCRE Наш велосипед значительно выигрывает по массо... весь текст скрыт [показать]
     
  • 1.29, Аноним, 11:48, 12/03/2010 [ответить] [смотреть все]  
  • +1 +/
    В RE2 полностью поддерживается синтаксис регулярных выражений Perl и PCRE НАГ... весь текст скрыт [показать]
     
     
  • 2.34, Дмитрий Телегин, 14:25, 12/03/2010 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    >"Grayed out expressions are not supported by RE2."
    >А таких там много.

    Согласен, что не мало, но там большая часть серого от VIM. Убрав его синтаксис картина становится лучше.

     
     
  • 3.36, DeadLoco, 17:22, 12/03/2010 [^] [ответить] [смотреть все]  
  • +/
    >>"Grayed out expressions are not supported by RE2."
    >>А таких там много.
    >
    >Согласен, что не мало, но там большая часть серого от VIM. Убрав
    >его синтаксис картина становится лучше.

    Лучше чего?

    RE2 несравнима с PCRE по функционалу. Фактически, RE2 - куцое подмножество регулярных выражений вообще. Да, в этом подмножестве она может работать оптимальнее PCRE, что не удивительно. Но RE2 - это RE2, а PCRE - это PCRE.

    Лично я уважаю PCRE за богатство функционала при конечности FSA :) и за возможность хранить прекомпилированные FSA для массового повторного использования.

     
     
  • 4.48, Дмитрий Телегин, 09:09, 15/03/2010 [^] [ответить] [смотреть все]  
  • +/
    >>Согласен, что не мало, но там большая часть серого от VIM. Убрав
    >>его синтаксис картина становится лучше.
    >
    >Лучше чего?

    Лучше чем с особенностями VIM нереализованными в ни RE2 ни в PCRE :)

     
  • 3.41, ACCA, 15:41, 13/03/2010 [^] [ответить] [смотреть все]  
  • +/
    >>"Grayed out expressions are not supported by RE2."
    >>А таких там много.
    >
    >Согласен, что не мало, но там большая часть серого от VIM. Убрав
    >его синтаксис картина становится лучше.

    Угу. Ещё убрав синтаксис Perl и половину PCRE.

     
     
  • 4.47, Дмитрий Телегин, 09:02, 15/03/2010 [^] [ответить] [смотреть все]  
  • +/
    >>Согласен, что не мало, но там большая часть серого от VIM. Убрав
    >>его синтаксис картина становится лучше.
    >Угу. Ещё убрав синтаксис Perl и половину PCRE.

    Какой смысл здесь утрировать? Посмотрите сколько в % останется серого если убрать особенности vim. Или список даже просмотреть внимательно не удосужились?

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor TopList