YAML ファイルの次のデータに基づいて、Ruby で正規表現を作成して、リストのそれぞれのグループ キーと項目キーに一致させることができますか?
ソースデータ
Groups:
GroupA:
- item 1
- item 3
Group B:
- itemA
- item 3
C:
- 1
- item 3
テスト文字列:
GroupA item 1
Group B itemA
c item 1
C 1
GroupA 1
予想される一致グループ
Match 1:
1. GroupA
2. item 1
Match 2:
1. Group B
2. itemA
Match 3:
1. C
2. 1
助けてくれてありがとう!
イアン
================================== 更新: Tin Mans のコメントに続いて -
ここでさらに背景を…
多数のメソッドを含むプラグイン内のクラスが存在します。各メソッドは、実行されるアクションを決定するために解析される文字列を受け取ります。一部のメソッドでは、文字列の内容が後続のアクションで使用されます。これが必要な場合は、文字列の関連部分を抽出 (または照合) するために正規表現が使用されます。残念ながら、このプロセスを変更するために上流のコードを制御することはできません。
この場合、文字列は「Group Item Status」の形式です。ただし、グループ名とアイテム名は必ずしも 1 つの単語である必要はなく、各グループにすべてのアイテムが含まれている必要はありません。例えば
"Group A Item 1"
"c item 1"
"GroupA 1"
したがって、必要なのは、入力文字列を解析してそれぞれの Group と Item を取得し、正しい値がさらに下のメソッドに渡されるようにするメソッドです。クラス内の他の同等のメソッドが正規表現を使用し、グループと項目のペアの決定的なリストを含む YAML ファイルがあることを考えると、正規表現が私の最初の考えでした。
しかし、私はより良いアプローチに対してオープンです
どうもありがとう
イアン