|
|
|
Кто на регулярных выражениях собаку съел? Подскажите...
|
|||
|---|---|---|---|
|
#18+
maXmoимхо, правильно пробел выводит, попробуй пробел после ААА стереть и чо ? выдала тот же пробел вообще какую задачу то решаем ??? Та что в первом посте подразумевает ответ DDD (три раза IMHO) Так что если это и решение, то увы неизвестно какой задачи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2007, 12:45 |
|
||
|
Кто на регулярных выражениях собаку съел? Подскажите...
|
|||
|---|---|---|---|
|
#18+
maXmoпопробуй так AAA((?:[^Z]|Z(?!ZZ))*)BBB зы перл – здло и АДЪ следует за ним Так работает концептуальненько А кто у нас седня добро ? awk или egrep ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2007, 12:51 |
|
||
|
Кто на регулярных выражениях собаку съел? Подскажите...
|
|||
|---|---|---|---|
|
#18+
добро – это С# в крайнем случае С++ Gluk (Kazan)и чо ? выдала тот же пробелхмм… или перл не умеет в регулярными выражениями работать, или ты где-то не там пробел стёр. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2007, 13:01 |
|
||
|
Кто на регулярных выражениях собаку съел? Подскажите...
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) Кстать, не работает ни фига ни так: Код: plaintext 1. 2. 3. 4. 5. ни так: Код: plaintext 1. 2. 3. 4. 5. Почему не работает разбираться было лениво, господа теоретики мне тоже лень разбираться почему у Вас не работает. Уменя На PHP прекрасно работает AAA([^Z]|Z(?!ZZ))+BBB и для CCC AAA DDD BBB ZZZ BBB ZZZ FFF и для... ЛЮБЫХ других случаев. хоть рандомом забивай строку. Но я так подозреваю в $1 у вас будет содержимое первой скобки а не всего совпадения - поэтому там и пробел. Код: plaintext 1. 2. 3. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. то есть нулевой элемент - все совпадение, а начиная с 1 - паттерны выделеные скобками идут ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2007, 13:02 |
|
||
|
Кто на регулярных выражениях собаку съел? Подскажите...
|
|||
|---|---|---|---|
|
#18+
все я прогнал согласен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2007, 13:04 |
|
||
|
Кто на регулярных выражениях собаку съел? Подскажите...
|
|||
|---|---|---|---|
|
#18+
maXmoдобро – это С# в крайнем случае С++ Хорошо что не VB.NET ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2007, 13:05 |
|
||
|
Кто на регулярных выражениях собаку съел? Подскажите...
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) maXmoпробел выводит А должно DDD ;) не должно в скобках один символ всего если бы /AAA(([^Z]|Z(?!ZZ))+)BBB/ тогда в $1 было бы " DDD " а в $2 пробел это же основы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2007, 13:05 |
|
||
|
Кто на регулярных выражениях собаку съел? Подскажите...
|
|||
|---|---|---|---|
|
#18+
Tellur Gluk (Kazan) maXmoпробел выводит А должно DDD ;) не должно в скобках один символ всего если бы /AAA(([^Z]|Z(?!ZZ))+)BBB/ тогда в $1 было бы " DDD " а в $2 пробел это же основы я же сказал, выше что прогнал я сюда заскакиваю урывками в свободное от основной работы время когда смотришь мельком можно еще не так лохануться, так что не надо про основы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2007, 13:07 |
|
||
|
Кто на регулярных выражениях собаку съел? Подскажите...
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) я же сказал, выше что прогнал я сюда заскакиваю урывками в свободное от основной работы время когда смотришь мельком можно еще не так лохануться, так что не надо про основы сорри когда я начинал писать пост вашего еще не было, разница в минуту всего - сами посмотрите ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2007, 13:10 |
|
||
|
Кто на регулярных выражениях собаку съел? Подскажите...
|
|||
|---|---|---|---|
|
#18+
Tellur Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2007, 13:20 |
|
||
|
Кто на регулярных выражениях собаку съел? Подскажите...
|
|||
|---|---|---|---|
|
#18+
Tellur Gluk (Kazan) я же сказал, выше что прогнал я сюда заскакиваю урывками в свободное от основной работы время когда смотришь мельком можно еще не так лохануться, так что не надо про основы сорри когда я начинал писать пост вашего еще не было, разница в минуту всего - сами посмотрите Если забыть о том, что выражение надо вычислять динамически, то решение в принципе нормальное. Единственно, что на однобуквенных подстроках будет частный случай с изменением структуры выражения. Но простой поиск строки с последующим поиском в найденном безусловно будет эффективнее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.11.2007, 13:22 |
|
||
|
Кто на регулярных выражениях собаку съел? Подскажите...
|
|||
|---|---|---|---|
|
#18+
Мдаааа Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Удивительно, что это не пришло в голову сразу :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2007, 08:20 |
|
||
|
Кто на регулярных выражениях собаку съел? Подскажите...
|
|||
|---|---|---|---|
|
#18+
maXmoдобро – это С# Теперь немножко лирики про извечную борьбу Бобра сО слом: 1. На сегодня машинка регулярных выражений Perl наиболее заоптимизированная из всехсуществующих. 2. В части нововведений в RegExp, Perl всегда был законодателем мод, расширения 5-ой версии уже стали фактическим стандартом. 3. .Net в настоящий момент вводит новые фичи, отсутствуюшие в Perl и их нововведения безусловно интересны и достойны всяческого внимания, но: 3.1 Некоторая часть нововведения (как например разбор справа налево) откровенно сыра и не готова для практического использования. 3.2 Относительно набившей оскомину задачи проверки баланса скобок, решение предлагаемое Perl (возможность применения рекурсии) мне представляется несколько более универсальным чем финт приедложенный .Net-ом с определением уровня вложенности с использованием именованных сохранений (хотя возможно я просто не до конца вкурил последнее). 3.3 В отличии от .Net в Perl регулярные выражения интегрированы (про C# врать не буду, но в Java вереницы бакслешей (в частности) просто убивают). 3.4 Самое большое, что мне не нравится в .Net, то что его разработчики сознательно и последовательно игнорируют принцип нулевых издержек . Я не хочу платить за функционал (Capture), который не использую (и который вообще вряд ли кто нибудь когда то будет использовать). 3.5 Возможность использования делегатов при подстановке достойна восхищения, но возможности Perl-а в этом отношении никак не меньше. 3.6 Пожалуй единственная действительно ценная возможность предоставляемая .Net и отсутствующая в Perl - ретроспективные проверки произвольной ширины, но и она в подавляющем количестве случаев всего лишь позволит тормознуть крутейший пень непосильным количеством возвратов. 3.7 Документация по regexp-ам у .Net - говно Плавно переходим к части не связанной с регулярными выражениями: Совсем недавно, одному из наших заказчиков срочно занадобилась подсистема виртуального хостинга, интегрируемая с нашей биллинговой системой. После того как все остальные разработчики отказались за нее браться (сославшись на откровенно нереальные сроки), я не имея предварительных наработок в этой области, сделал ее за 2 недели (отдельное спасибо CPAN) в связке (Perl+PL/SQL), попутно освоив Perl, некоторые тонкости DNS, CommunigatePro, LDAP, виртуальный хостинг на Apache, MySQL для задач виртуального хостинга и развертывание всего этого добра под Windows и Solaris. Весь модуль - несколько таблиц, пакетов PL/SQL, JOB-ов и запускаемых по cron или at скриптов Perl (в количестве 9 штук общим объемом не более 700 строк с подробным комментированием), которые немедленно передал на сопровождение другому сотруднику, попутно показав, что писать сопровождаемый софт на Perl можно . Что то мне подсказывает, что выбери я C# или даже C++, мне было бы низачто не уложиться в озвученные сроки. Немалую роль сыграла и кроссплатформенность Perl, поскольку заказчик хотел видеть реализацию на солярке. Теперь о меркантильном: Perl - бесплатен . Безусловно и для любого использования (и по заверениям создателей навсегда таковым и останется). Более того, по всему миру разбросаны десятки тысяч энтузиастов, разрабатывающих бесплатные модули для решения всевозможных задач. Фактически, разработать собственный востребованный модуль Perl очень сложно по одной только причине - скорее всего он уже написан, тщательно задокументирован и выложен на CPAN. Все это сказано про Perl - который Вы считаете Злом, а что хорошего ВЫ можете рассказать о столь любимом вами Порождении Империи Добра ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2007, 08:57 |
|
||
|
Кто на регулярных выражениях собаку съел? Подскажите...
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)Мдаааа... ... /$A(?:(?!$Z).)*$B/ ... Удивительно, что это не пришло в голову сразу :) Забавно, именно сегодня утром, во время езды в маршрутке на работу, мне пришла в голову абсолютна та же "мысля", только, оформилась она в нечто более "многословное", типа так: "/$A((?!$Z).(?!$Z))*$B/", или так: "/$A(.(?!$Z)(?<!$Z))*$B/". Ваш случай, безусловно, более "лаконичен", только я что-то не могу пока догнать - каким образом (?: ) ( noncapturing group ) позволяет избавиться от дублирования negative lookbehind и negative lookahead ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2007, 10:15 |
|
||
|
Кто на регулярных выражениях собаку съел? Подскажите...
|
|||
|---|---|---|---|
|
#18+
qu-quВаш случай, безусловно, более "лаконичен", только я что-то не могу пока догнать - каким образом (?: ) ( noncapturing group ) позволяет избавиться от дублирования negative lookbehind и negative lookahead ? Я просто понял, что легко можно переложить на стандартные regexp-ы то как я решаю эту задачку в своей машинке (которая скорее парсер). Просто стоп-выражение в квантификаторе. Если со следующего символа не начинается ZZZ, захватываем любой символ. Ваши проверки избыточны, внешний квантификатор тоже может быть любой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2007, 10:25 |
|
||
|
Кто на регулярных выражениях собаку съел? Подскажите...
|
|||
|---|---|---|---|
|
#18+
qu-qu noncapturing group в данном случае не более чем оптимизирующий наворот. не в нем дело, это вполне может быть обычная скобка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2007, 10:27 |
|
||
|
Кто на регулярных выражениях собаку съел? Подскажите...
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) qu-qu noncapturing group в данном случае не более чем оптимизирующий наворот. не в нем дело, это вполне может быть обычная скобка Это я уже понял практически сразу же после того, как спросил, а потом - внимательнее посмотрел на выражение... Gluk (Kazan)... Ваши проверки избыточны, внешний квантификатор тоже может быть любой. Это тоже стало более-менее понятно (про избыточность), после того как я "поигрался" с различными сочетаниями negative lookbehind и negative lookahead ... Однако ж, одна неясность все-таки осталась - почему на таком тесте: "CCCAAADDDBBBAAAZZZDDDBBBAAADZZZDDBBBAAADDZZZDBBBAAADDDZZZBBBAAAZZZBBBZZZAAABBBFFF"... Вот это "AAA((?!ZZZ) . )*BBB" (или "AAA( . (? < !ZZZ))*BBB") срабатывает: AAADDDBBB AAABBB А это "AAA( . (?!ZZZ))*BBB" (или "AAA((? < !ZZZ) . )*BBB") нет: AAADDDBBB AAAZZZDDDBBB (или AAADDDZZZBBB) AAAZZZBBB AAABBB ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2007, 11:00 |
|
||
|
Кто на регулярных выражениях собаку съел? Подскажите...
|
|||
|---|---|---|---|
|
#18+
qu-quВот это "AAA((?!ZZZ) . )*BBB" (или "AAA( . (? < !ZZZ))*BBB") срабатывает: AAADDDBBB AAABBB А это "AAA( . (?!ZZZ))*BBB" (или "AAA((? < !ZZZ) . )*BBB") нет: AAADDDBBB AAAZZZDDDBBB (или AAADDDZZZBBB) AAAZZZBBB AAABBB Вероятно потому, что сначала надо проверять, а уж затем захватывать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2007, 11:04 |
|
||
|
Кто на регулярных выражениях собаку съел? Подскажите...
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)... Если со следующего символа не начинается ZZZ, захватываем любой символ... Предыдущий вопрос можно переформулировать так: какая "концептуальная" разница между "если со следующего символа не начинается ZZZ" и "если со следующим символом не заканчивается ZZZ"? Gluk (Kazan)... Вероятно потому, что сначала надо проверять, а уж затем захватывать... Ну дык, вот же: "AAA((? < !ZZZ) . )*BBB" - сначала (вроде бы) "проверяет", однако ж - не работает... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2007, 11:28 |
|
||
|
Кто на регулярных выражениях собаку съел? Подскажите...
|
|||
|---|---|---|---|
|
#18+
Вдогонку... Gluk (Kazan)... Вероятно потому, что сначала надо проверять, а уж затем захватывать... А вот это: "AAA(( . ? < !ZZZ))*BBB" - сначала (вроде бы) "захватывает", однако ж - работает... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2007, 11:30 |
|
||
|
Кто на регулярных выражениях собаку съел? Подскажите...
|
|||
|---|---|---|---|
|
#18+
qu-qu... "AAA( . (? < !ZZZ))*BBB" ... ну это, скобкой ошибся, как водится... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2007, 11:32 |
|
||
|
Кто на регулярных выражениях собаку съел? Подскажите...
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)(про C# врать не буду, но в Java вереницы бакслешей (в частности) просто убивают).В С# два типа строк: с-образные и бейсикообразные, во втором символы экранировать не надо. Регекспы не интегрированы ради простоты синтаксиса языка. Я имел в виду не возможности регекспов, а специфические особенность перла как языка Gluk (Kazan)заказчик хотел видеть реализацию на солярке.в такой постановке про .нет можно было даже не думать. Gluk (Kazan)Perl - бесплатен .я рад за него :) Gluk (Kazan)Безусловно и для любого использованиято есть его код в PD? Если по-умному, тебе следовало указать лицензию, а не пытаться изложить её упрощённо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2007, 11:40 |
|
||
|
Кто на регулярных выражениях собаку съел? Подскажите...
|
|||
|---|---|---|---|
|
#18+
maXmoЕсли по-умному, тебе следовало указать лицензию, а не пытаться изложить её упрощённо. изволь По раздуванию щек, я так понимаю, что в защиту C# кроме двух типов строк и невозможности работы на солярке сказать нечего ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2007, 11:51 |
|
||
|
Кто на регулярных выражениях собаку съел? Подскажите...
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) изволь вот видишь, его можно использовать не по-любому, а только так, как описано в лицензии, а по-другому его использовать нельзя. И эти ограничения чётко расписаны. Gluk (Kazan)По раздуванию щек, я так понимаю, что в защиту C# кроме двух типов строк и невозможности работы на солярке сказать нечего ???не представляю, что ты хочешь услышать. Если есть какой-то конкретный вопрос, спрашивай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2007, 12:08 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=34938167&tid=1345299]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
29ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 291ms |

| 0 / 0 |
