-2

次のようなテキスト ファイルがあるとします。

group 1
group 1
 arbitrary text
group 1
 arbitrary text
group 2
 arbitrary text
 arbitrary text
group 2
group 2
 arbitrary text
#

各グループの情報をまとめて独自のリストにまとめ、「#」で停止したいと思います。

リスト1:

group 1
group 1
 arbitrary text
group 1
 arbitrary text

リスト 2:

group 2
 arbitrary text
 arbitrary text
group 2
group 2
 arbitrary text

私はどこにも近づかなかったいくつかのことを試しましたが、私のラムダスキルはほとんど存在しません. 誰でも助けることができますか?

4

1 に答える 1

1

System.Text.RegularExpressions.RegEx クラス (.NET Framework) を使用して頭から浮かび上がらせるのは、ほぼ目的どおりの単純なパターンです。

group\ (\d+)[\w\W]*group\ \1

問題は、次のグループが開始する前に最後の「任意のテキスト」をキャッチできず、キャプチャを停止するための # 文字のチェックが不足していることです。しかし、それは良いスタートだと思います:)

Regex regex = new Regex(@"group\ (\d+)[\w\W]*group\ \1", RegexOptions.Multiline);
于 2012-12-13T22:02:33.897 に答える