-1

私はこのテキストを持っています

"(Objectid < 200 OR ObjectID > 600) and (test or best) W/5 AND (apple OR 10a) AND (Objectid < 100 OR ObjectID > 500)"

And部分文字列を含む文字列を取得するか、上記の文字列の (左または右から)Or( )最も近い文字列を取得したいと思います。ここで、 は数値です。W/digitdigit

上記の例では、(test or best) (apple OR 10a) を取得する必要があります。

4

1 に答える 1

0

それを試してください:

var rgx = new Regex(@"(\([^)]*\))\WW/\d+\W(?:AND|OR|IN)\W(\([^)]*\))", RegexOptions.IgnoreCase);
var items = new List<Tuple<string,string>>();
var match = rgx.Match(subjectString);
while (match.Success) {
    items.Add(new Tuple<string,string>(match.Groups[1].Value, match.Groups[2].Value));
    match = match.NextMatch();
} 
于 2012-08-28T02:52:09.743 に答える