0

この (1 2 3);(abc);(4 5 6) のような文字列を分解する正規表現を作成する必要があります。

つまり、括弧内の各要素は blob (または次に引き離されるリスト) です。

何かご意見は?

これは私がこれで見つけたリンクです。これまでのところ、これを .net で動作させることができませんでした。翻訳していただけると助かります。

http://www.perlmonks.org/?node_id=574517

4

2 に答える 2

3

これは、次を使用して簡単に実現できますstring.Split

string[] results = myString.Split("();".ToCharArray(), 
                                  StringSplitOptions.RemoveEmptyEntries);

// results[0] == "1 2 3"
// results[1] == "a b c"
// results[2] == "4 5 6"
于 2012-05-23T13:25:10.357 に答える
1

上記の私のコメントから:

挑戦のためだけに、ここに正規表現があります:

(?<=(^|;)\()(?<list>[^();]+)(?=\)(;|$))

リストの開始を文字列の開始またはセミコロンの後に開いた括弧として定義し、閉じ括弧の後に文字列の終わりのセミコロンが続く場合にのみ、各リストが終了したと見なします。「リスト」は、各リストを含む(ご想像のとおり)名前付きグループです。

于 2012-05-23T20:08:12.240 に答える