|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,879
Записей в блоге: 7
|
Regexp для выдергивания XML из текста кода.
Нужен паттерн который выдергивает xml из кода.
Например такой: типа AS3 код <?xml version="1.0"?> <docs> <!-- asdf <docs a='5'/> <docs a='5'></docs> <![CDATA[Matches any word character (alphanumeric & underscore).<br/><br/><b>Note:</b><br/> --> <category name="character classes"> <item pattern=".">Matches any character, except for line breaks if dotall is false.</item> <item pattern="\w"><![CDATA[Matches (alphanumeric & underscore).<br/><br/><b>Note:</b><br/>The actionscript implementation of word characters is very p characters.]]></item> <item pattern="\W" >Matches any character that is not a word character (alphanumeric & underscore).</item> </category> <category name="character sets"> <item pattern="[ABC]"><![CDATA[Match in the set.<br/><br/><b>Example:</b><br/>Matches defense or defence<br/>defen[cs]e]]></item> <item pattern="[^ABC]">Match any single character that is not in the set.</item> </category> </docs> типа AS3 код Последний раз редактировалось iNils; 05.03.2009 в 16:08. |
|
|||||
стервочка (я мужик)
|
так тут же только XML, или я чего-то не понимаю? где код-то
|
|
|||||
стервочка (я мужик)
|
ну тут, как бы, для одного языка это совсем не тривиальная задача, а на неизвестный язык и того сложнее. по сути тебе надо взять флэшовый синтаксический парсер написанный на джаве ( http://opensource.adobe.com/svn/open...er/Parser.java ). там ~8K строк, из него там пятая часть это как раз анализ XML в коде основная проблема это понять, что начался XML. а это определяется контекстом. в общем это так же трудно как и определять регэкспы в коде, в силу того, что токены "/" и "<" могут означать много чего, и без контекста этого не понять.
p.s.: можно ещё поискать где-нить. |
|
|||||
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,879
Записей в блоге: 7
|
Код - AS3. Парсер, это парсер. А я хотел именно регэкспом выделить весь xml в коде.
Добавлено через 4 минуты Я вчера руку набивал. Написал такое чудо Но проблемы на <![CDATA[]]>, особенно на тегах внутри. |
|
|||||
стервочка (я мужик)
|
. - включает в себя \r
|
|
|||||
стервочка (я мужик)
|
я написал такой
почему-то он захватил больше твоего, хоть он и короче. на перле по идеи можно было бы написать так:
то есть включить рекурсию. тут проблема в том, что либо надо исключить повторные тэги, либо рекурсивно обработать. но во флэше рекурсий кажется нету.
|
|
|||||
стервочка (я мужик)
|
блин. тупо сказать так: [a-z][_$\w]*
|
Часовой пояс GMT +4, время: 07:47. |
|
« Предыдущая тема | Следующая тема » |
|
|