Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
С++11 regex
|
|||
|---|---|---|---|
|
#18+
Играюсь понемногу с новым в С++11. Пытаюсь задать регулярное выражение, "строка заканчивается на abc" Код: plaintext 1. 2. 3. Но что-то не получается. Где можно посмотреть синтаксис регулярных выражений и что здесь не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2014, 19:24 |
|
||
|
С++11 regex
|
|||
|---|---|---|---|
|
#18+
BagaBaga, Используй regex_match ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2014, 19:40 |
|
||
|
С++11 regex
|
|||
|---|---|---|---|
|
#18+
NekZИспользуй regex_match В данном случае нужен именно regex_search. BagaBagaПытаюсь задать регулярное выражение, "строва заканчивается на abc" Код: plaintext 1. 2. 3. Но что-то не получается. Код правильный. Должен вывести true(1). Если вы ждете чего-то другого, то зря :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2014, 19:49 |
|
||
|
С++11 regex
|
|||
|---|---|---|---|
|
#18+
Отвечу всем. Должен вывести True. Выводит 0. Что есть False. Похоже, что получилось как в том анекдоте: Когда ты думаешь, что можешь решить проблему с помощью регулярных выражений, ты получаешь две проблемы - исходную, и регулярные выражения :) PS В моём случае ерунда, как понимаю, из-за неполной реализации regex в gcc 4.8.3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2014, 20:54 |
|
||
|
С++11 regex
|
|||
|---|---|---|---|
|
#18+
BagaBaga, Судя по всему там не то что бы неполная реализация. Там просто заглушки :) https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53631 Реализовали в GCC 4.9 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2014, 21:08 |
|
||
|
С++11 regex
|
|||
|---|---|---|---|
|
#18+
К счастью всегда есть Boost :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2014, 21:09 |
|
||
|
С++11 regex
|
|||
|---|---|---|---|
|
#18+
А что-то у меня тоже ничего не получается... Linux, GCC... Код: plaintext 1. 2. 3. -- это ноль выводит. На счёт search/match -- я бы использовал match и другой (естественно) regexp. Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2014, 21:12 |
|
||
|
С++11 regex
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Да, я буст regex тоже люблю. Он работает... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2014, 21:14 |
|
||
|
С++11 regex
|
|||
|---|---|---|---|
|
#18+
В VS 2013 Express такой код Код: plaintext 1. 2. 3. выводит истину. А в стандарте дано каким алгоритмом происходит поиск ? В 28 разделе не встретил и не указана асимптотика (или я не заметил). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2015, 03:05 |
|
||
|
С++11 regex
|
|||
|---|---|---|---|
|
#18+
SashaMercury, а разве стандарт должен это описывать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2015, 08:51 |
|
||
|
С++11 regex
|
|||
|---|---|---|---|
|
#18+
Вы либо неудачные примеры находите либо никогда не оптимизируете. У меня глядя на этот пример возникает мысль - OMG! Это решается проверкой length, substring и проверкой на равенство "==". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2015, 14:54 |
|
||
|
С++11 regex
|
|||
|---|---|---|---|
|
#18+
SashaMercuryВ VS 2013 Express такой код Код: plaintext 1. 2. 3. выводит истину. А в стандарте дано каким алгоритмом происходит поиск ? В 28 разделе не встретил и не указана асимптотика (или я не заметил). А что, бывают разные алгоритмы регулярок? Спасибо, не знал )))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2015, 15:32 |
|
||
|
С++11 regex
|
|||
|---|---|---|---|
|
#18+
maytonВы либо неудачные примеры находите либо никогда не оптимизируете. У меня глядя на этот пример возникает мысль - OMG! Это решается проверкой length, substring и проверкой на равенство "==". А это уже избыточная и преждевременная оптимизация. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2015, 15:35 |
|
||
|
С++11 regex
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskySashaMercuryВ VS 2013 Express такой код Код: plaintext 1. 2. 3. выводит истину. А в стандарте дано каким алгоритмом происходит поиск ? В 28 разделе не встретил и не указана асимптотика (или я не заметил). А что, бывают разные алгоритмы регулярок? Спасибо, не знал )))) Есть разные реализации, их как минимум две. Классическая и перловая. Перловая требует память. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2015, 15:36 |
|
||
|
С++11 regex
|
|||
|---|---|---|---|
|
#18+
SashaMercuryвыводит истину. MasterZivЕсть разные реализации, их как минимум две. Классическая и перловая. Перловая требует память. Я думал, что речь про другие алгоритмы, которые могут дать другой результат )) Так то оно понятно, что есть реализации разные, как минимум через DFA, NFA, и кривыми ручками )). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2015, 15:40 |
|
||
|
С++11 regex
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskymaytonВы либо неудачные примеры находите либо никогда не оптимизируете. У меня глядя на этот пример возникает мысль - OMG! Это решается проверкой length, substring и проверкой на равенство "==". А это уже избыточная и преждевременная оптимизация. Ага. Вот копипащу кусок проекта цена которого более чем шестизначная. И я такое вижу каждый день и много. И вы думаете этот код писал чайничек? Нет. Куева туча сертифицированных синьоров-помидоров. По рупам. По всем технологиями. По шаблонам и с полным циклом бизнес анализа. Только работает он медленно. И таких коде-блоков более пятисот. Код: java 1. 2. 3. 4. 5. 6. И никто не думал об оптимизациях. Тоже рассуждали ... дескыть преждевременно и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2015, 16:56 |
|
||
|
С++11 regex
|
|||
|---|---|---|---|
|
#18+
maytonТолько работает он медленно. Медленно, это понятие относительное. Без контекста нет смысла обсуждать оптимизации и тем более их делать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2015, 17:29 |
|
||
|
С++11 regex
|
|||
|---|---|---|---|
|
#18+
Мда... контекст это... это сила. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2015, 19:12 |
|
||
|
С++11 regex
|
|||
|---|---|---|---|
|
#18+
Боюсь показаться тупым (регулярных выражений не знаю), но спрошу, что значит expr.matches("^[\\d]{9}$") ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2015, 19:20 |
|
||
|
С++11 regex
|
|||
|---|---|---|---|
|
#18+
Dima TБоюсь показаться тупым (регулярных выражений не знаю), но спрошу, что значит expr.matches("^[\\d]{9}$") ?Зависит от реализации. Но скорее всего это вернет true если строка состоит из девяти цифр. А на V7 это вернет true если строка состоит из девяти букв 'd' или '\'. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2015, 19:28 |
|
||
|
С++11 regex
|
|||
|---|---|---|---|
|
#18+
White OwlА на V7 это вернет true если строка состоит из девяти букв 'd' или '\'. Там что убрали поддержку класса \d ? Сильно сомневаюсь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2015, 19:40 |
|
||
|
С++11 regex
|
|||
|---|---|---|---|
|
#18+
White OwlЗависит от реализации. Но скорее всего это вернет true если строка состоит из девяти цифр. Тогда понятно негодование mayton`а. Такое бывает когда каждый пишет свой кусок не задумываясь о целом. Ошибки проектирования. Никто изначально не сказал что могут быть только цифры, поэтому максимальная проверка. mayton, синьоры-помидоры успешно сдали свою работу. Просто цель у них была сдать работу, а не что-то другое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2015, 19:57 |
|
||
|
С++11 regex
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyWhite OwlА на V7 это вернет true если строка состоит из девяти букв 'd' или '\'. Там что убрали поддержку класса \d ? Сильно сомневаюсь. Просто White Owl совершил, наверное, самую типичную ошибку при написании регулярок: то ли двойных кавычек не заметил, то ли просто интуитивно решил, что там сначала идёт \, а уже потом \d. :) Я так частенько, почему-то именно с регулярными выражениями ошибаюсь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2015, 20:00 |
|
||
|
С++11 regex
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskyWhite OwlА на V7 это вернет true если строка состоит из девяти букв 'd' или '\'. Там что убрали поддержку класса \d ? Сильно сомневаюсь.Неа, не убирали, а не вводили, не успели потому что :) В V7 были классы :digit:, :alpha: и так далее. Потом в свободном доступе появилась библиотека pcre и posix, да и все остальные отстающие системы, быстренько подтянулись до современности. Зато в обиход вошло (и некоторое время существовало) определение "shorthand character classes" как раз для всяких \d и \w. Впрочем, этот термин я уже лет десять не слышал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2015, 20:02 |
|
||
|
С++11 regex
|
|||
|---|---|---|---|
|
#18+
maytonAnatoly Moskovskyпропущено... А это уже избыточная и преждевременная оптимизация. Ага. Вот копипащу кусок проекта цена которого более чем шестизначная. И я такое вижу каждый день и много. И вы думаете этот код писал чайничек? Нет. Куева туча сертифицированных синьоров-помидоров. По рупам. По всем технологиями. По шаблонам и с полным циклом бизнес анализа. Только работает он медленно. И таких коде-блоков более пятисот. Код: java 1. 2. 3. 4. 5. 6. И никто не думал об оптимизациях. Тоже рассуждали ... дескыть преждевременно и т.д. А как нужно было сделать? Так или отказаться от регулярок? Код: java 1. 2. 3. 4. Сорри протестировать не могу это выражение, но идея понятна должна быть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2015, 20:11 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=38821956&tid=2018800]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
8ms |
check topic access: |
8ms |
track hit: |
55ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
70ms |
get tp. blocked users: |
1ms |
| others: | 8ms |
| total: | 184ms |

| 0 / 0 |
