|
|
|
Регулярные выражения в C++ Builder
|
|||
|---|---|---|---|
|
#18+
Проблема в следующем. Необходимо получить не подстроку поиска, задаваемую регулярным выражением, а данные, обозначенные в рег. выраженнии скобками (). Выражения примерно следующего вида: [\\\\d.]{6,},([\\\\d.]{6,}),[NS],([\\\\d.]{6,}),[EW],[\\\\d.]{1,},[\\\\d.]{1,},([\\\\d.]{1,}),[\\\\d.]{1,} На данный момент использую <pcreposix.h> с оберткой от Lepsik (/topic/79578&hl=foreign). Может кто-то подскажет как быть. Особенно надеюсь на комментарй г-на Lepsik. P.S. C++ Builder из BDS 2006 P.P.S. Были неудачные попытки прикрутить boost.regex и greta. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2006, 19:26 |
|
||
|
Регулярные выражения в C++ Builder
|
|||
|---|---|---|---|
|
#18+
какие данные ? вы бы пример дали бы . что есть и что нужно ... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2006, 19:31 |
|
||
|
Регулярные выражения в C++ Builder
|
|||
|---|---|---|---|
|
#18+
В общем случае есть некие текстовые файлы с определенными данными, но заранее неизвестным форматом. Часть этих данных нужно извлечь, что я бы хотел сделать, описывая регулярным выражением формат. Конкретно для приведенного выражения строка выглядит примерно след. образом: $GPGGA,004241.47,5532.8492,N,03729.0987,E,1,04,2.0,-0015,M,,,,*31 А получить мне нужно 47,5532.8492 03729.0987 -0015 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2006, 19:41 |
|
||
|
Регулярные выражения в C++ Builder
|
|||
|---|---|---|---|
|
#18+
можно банально загрузить в массив и пробежаться. откидывая не нжные символы ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2006, 19:46 |
|
||
|
Регулярные выражения в C++ Builder
|
|||
|---|---|---|---|
|
#18+
S.Q.LappНеобходимо получить не подстроку поиска, задаваемую регулярным выражением, а данные, обозначенные в рег. выраженнии скобками ().если мне память не изменяет, гляньте конструкцию вида \1 согласен с JibSkeart, наверное, проще и надежнее будет пробежаться циклом по строке... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2006, 19:50 |
|
||
|
Регулярные выражения в C++ Builder
|
|||
|---|---|---|---|
|
#18+
S.Q.LappКонкретно для приведенного выражения строка выглядит примерно след. образом: $GPGGA,004241.47,5532.8492,N,03729.0987,E,1,04,2.0,-0015,M,,,,*31 А получить мне нужно 47,5532.8492 03729.0987 -0015 Приведеное выражение, для этой строки никогда не выдаст показаные результаты. А вообще там все элементарно: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2006, 20:02 |
|
||
|
Регулярные выражения в C++ Builder
|
|||
|---|---|---|---|
|
#18+
JibSkeartможно банально загрузить в массив и пробежаться. откидывая не нжные символы ... Не можно. Я же написал, формат заранее не известен. Будет задаваться в настройках. White Owl Приведеное выражение, для этой строки никогда не выдаст показаные результаты. Да я в курсе, строки для примера. Спасибо за пример, буду ковырять. P.S. Если кто поделится ссылкой на мануал (не по регам, а по конкретным ф-циям), буду признателен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2006, 09:31 |
|
||
|
Регулярные выражения в C++ Builder
|
|||
|---|---|---|---|
|
#18+
S.Q.LappЕсли кто поделится ссылкой на мануал (не по регам, а по конкретным ф-циям), буду признателен. Загружаешь свой линукс, и даешь команды: man regcomp man regexec man regfree Если линукса нету сходи сюда: http://www.mkssoftware.com/docs/man3/regcomp.3.asp http://www.mkssoftware.com/docs/man3/regexec.3.asp http://www.mkssoftware.com/docs/man3/regfree.3.asp ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2006, 17:40 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=330&tid=2030304]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
8ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 233ms |
| total: | 355ms |

| 0 / 0 |
