我需要标记以下标记:
{TagName attrib1=”value1” attrib2=”value 3”}.
我想写正则表达式,但问题是属性值可以包含空格,所以我不能只用空格分割。
答案 0 :(得分:1)
不能比这更清楚:
http://www.codinghorror.com/blog/2009/11/parsing-html-the-cthulhu-way.html
请解释为什么你需要regexp ......
而且,你没有说出你喜欢的语言......
假设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";
}
但是,请不要使用正则表达式!!