使用Regex获取群组

时间:2011-05-25 10:34:33

标签: c# regex

{%if Lang="english", Site="testsite"}
content
{%endif}

我需要获得群组Lang,网站和内容

这是我用来获取内容部分的内容

".*}(.*){%.*"

2 个答案:

答案 0 :(得分:2)

您可以使用?<groupname>来抓取群组。

这是一个非常粗糙的正则表达式,可以获得你想要的群体:

\{\%if\s.*(Lang=\"(?<lang>[^\"]*))\".*(Site=\"(?<site>[^\"]*))\"\}(?<content>[^\{]*)\{\%endif\}

当您使用c#的正则表达式时,您可以使用以下方式获取组:

var _regex = new RegEx(...);
var _language = _regex.Groups["lang"].Value;

答案 1 :(得分:0)

我不确定你需要你的正则表达式有多灵活,但尝试类似:

{%if Lang="(.*)",\s.*Site="(.*?)"}(\r\n)*?(.*?)(\r\n)*?{%endif}

然后你可以从那里获得比赛。