2011-05-25 57 views
0
{%if Lang="english", Site="testsite"} 
content 
{%endif} 

我需要獲得團體郎,網站和內容獲得團體與正則表達式

這是我在用的獲取內容部分

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

你有什麼試過,你的問題在哪裏?目前這個問題只是「爲我做的工作」 – stema 2011-05-25 10:46:02

+0

「。*}(。*){%。*」會給我組1中的內容而不是0 – John 2011-05-25 10:47:41

回答

2

您可以通過使用捕捉組?<groupname>

這是一種非常原始的正則表達式來得到你想要的羣體:使用

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

當您使用從C#中的正則表達式就可以得到組:

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

我不是知道你如何靈活的需要你的正則表達式來可以,但你可以試試:

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

你可以再拿到比賽FR在那裏。