Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
RegEx
|
|||
|---|---|---|---|
|
#18+
приветствую Помогите распарсить текст вида (используя регулярные выражения): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. небоходимо получить две группы: 1. ведущая строка 2. все что содержиться в фигурных скобках ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2006, 16:32 |
|
||
|
RegEx
|
|||
|---|---|---|---|
|
#18+
Вообще говоря это не распарсить регулярными выражениями. Потому что нужен контекст для распознавания {} - открывающей и закрывающей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2006, 17:16 |
|
||
|
RegEx
|
|||
|---|---|---|---|
|
#18+
да вроде он есть.. контекст в смысле каждый интересующий блок заканчивается }; причем с новой строки... в общем-то файл распарсил перебором всех строк, но вопос остается открытым ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2006, 17:33 |
|
||
|
RegEx
|
|||
|---|---|---|---|
|
#18+
Про ведущую строку подумать надо. Что это такое? Второе парсится чем-то вроде /\{.{0,}\}/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2006, 21:52 |
|
||
|
RegEx
|
|||
|---|---|---|---|
|
#18+
SarinПро ведущую строку подумать надо. Что это такое? Второе парсится чем-то вроде /\{.{0,}\}/ Не годится. Это тебе даст только пару скобок. А вот другие пары которые вложены в эту пару скобок уже не даст. В общем, варианта два: Построчное сканирование с ручным подсчетом открывающих-закрывающих скобок. Рекурсия - выделяешь блоки не содержащие внутри себя скобок, вырезаешь их из исходного текста, и заново. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.03.2006, 23:44 |
|
||
|
RegEx
|
|||
|---|---|---|---|
|
#18+
White Owl В общем, варианта два: Построчное сканирование с ручным подсчетом открывающих-закрывающих скобок. Рекурсия - выделяешь блоки не содержащие внутри себя скобок, вырезаешь их из исходного текста, и заново. Можно выделить все блоки внутри скобок. Удалить начальную и конечною скобку (первый и последний символ) и повторить. Имхо проще чем предложенный тобой номер 2. Ещё можно что-то типа /\{.+(\}|{)/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2006, 00:14 |
|
||
|
RegEx
|
|||
|---|---|---|---|
|
#18+
SarinУдалить начальную и конечною скобку (первый и последний символ) и повторить. Имхо проще чем предложенный тобой номер 2.А кто тебе сказал что первый и последний символ в тексте это парные скобки? :) Посмотри на самый первый пост. Там же все четко описано. Человеку надо просканировать типичный C или C++ исходник и выдать заголовок функции/метода и тело этой функции. В одном *.cpp файле может быть описано несколько функций. Вот их и надо выдать. SarinЕщё можно что-то типа /\{.+(\}|{)/Нельзя. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2006, 00:23 |
|
||
|
RegEx
|
|||
|---|---|---|---|
|
#18+
хм...да вроде он есть.. контекст в смысле каждый интересующий блок заканчивается }; причем с новой строки... Контескт должен храниться внутри реализующего RegEx парсера. А там его нету, потому что регулярные выражения должны разбираться автоматом без памяти. А ты должен запоминать, где какая скобка открылась, чтобы к ней подобрать закрывающую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2006, 15:59 |
|
||
|
RegEx
|
|||
|---|---|---|---|
|
#18+
White OwlА кто тебе сказал что первый и последний символ в тексте это парные скобки? :) После /\{.+\}/ первый и последний символы будут {}:) Эту операцию надо будет повторять пока все блоки не выделенны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2006, 21:44 |
|
||
|
RegEx
|
|||
|---|---|---|---|
|
#18+
хм...каждый интересующий блок заканчивается }; причем с новой строки... (для очень ленивых!) если нет пустых блоков и }; с новой строки - строго конец блока - то одними регекспами можно примерно попробовать проглотить целиком регулярками Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2006, 01:34 |
|
||
|
RegEx
|
|||
|---|---|---|---|
|
#18+
То есть так, конечно Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2006, 01:37 |
|
||
|
|

start [/forum/topic.php?fid=16&fpage=185&tid=1346975]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
24ms |
get topic data: |
7ms |
get forum data: |
5ms |
get page messages: |
28ms |
get tp. blocked users: |
1ms |
| others: | 252ms |
| total: | 337ms |

| 0 / 0 |
