Как проанализировать Xml-подобный тег с регулярным выражением - PullRequest
0 голосов
/ 28 сентября 2010

Мне нужно токенизировать следующий тег:

{TagName attrib1=”value1” attrib2=”value 3”}.

Я хотел бы написать для этого регулярное выражение, но проблема в том, что значение атрибута может содержать пробел, поэтому я не могу просто разделить его пробелом.

1 Ответ

1 голос
/ 28 сентября 2010

нельзя выразить более четко, чем это:

http://www.codinghorror.com/blog/2009/11/parsing-html-the-cthulhu-way.html

, пожалуйста, объясните, почему вам нужно регулярное выражение ...

и вы ничего не сказали о предпочитаемом вами языке ...

при условии, что perl:

$str = "{TagName attrib1=\"value1\" attrib2=\"value 3\"}";

if ($str =~ m/{(\w+)\s+(\w+)="(.*?)"\s+(\w+)="(.*?)"/)
{
    print "tagname: $1\n";
    print "attrib: $2\n";
    print "value: $3\n";
    print "attrib: $4\n";
    print "value: $5\n";
}

Но опять же, не используйте регулярные выражения для этого !!

...