正则表达式在Vala中捕获组

时间:2011-07-22 15:20:33

标签: regex vala capturing-group

有这样的事吗?我一直在环顾Vala API,而Regex对象似乎不支持捕获组,以便我以后可以引用它们。目前有没有办法解决这个明显的限制?假设我正在解析给定模式的一组字符串(文件的内容)中的字符串,如:

parameter = value

但是我希望语法松散,以便它也可以说

 parameter=value
parameter =   value
等......首先想到的是使用带有捕获组的正则表达式但据我所知,目前似乎不支持将此功能作为Vala的一部分。

我能想出的唯一选择是将字符串与一个匹配空格的正则表达式分开,这样我最终得到一个我可以分析的数组,但是这个文件可能不仅仅包含“parameter = value”-like格式化的行。

1 个答案:

答案 0 :(得分:4)

它是这样的。免责声明,这是我的首要任务:

Regex r = /^\s*(?P<parameter>.*)\s*=\s*(?P<value>.*)\s*$/;
MatchInfo info;
if(r.match(the_string, 0, out info)) {
    var parameter = info.fetch_named("parameter");
    var value = info.fetch_named("value");
}