RegEx

2016-12-20 14 views
1

でユニティアニメーションクリップの解析と編集アニメーションクリップを選択してそのすべてのテキストを文字列に読み込むカスタムエディタウィンドウを作成しました。今私は、文字列を解析する必要がありますカーブの数を見つけるためには、curveMappingので、値をオーバーライドする新しいファイルを作成することができます。私はこのような外観に興味がある文字列の部分:RegEx

m_PPtrCurves: 
    - curve: 
    - time: 0 
     value: {fileID: 21300000, guid: 1fa82f3b0bb4e1f49ab9a9ffd4e891b1, type: 3} 
    - time: 0.6 
     value: {fileID: 21300000, guid: ae9111d826eb24442b21523b30b748bd, type: 3} 
    - time: 0.6666667 
     value: {fileID: 21300000, guid: 88840e4f59c4a6040922d9b6eed3dec3, type: 3} 
    - time: 1.2333333 
     value: {fileID: 21300000, guid: 88840e4f59c4a6040922d9b6eed3dec3, type: 3} 
    - time: 2.0001667 
     value: {fileID: 21300000, guid: ae9111d826eb24442b21523b30b748bd, type: 3} 
    - time: 2.05 
     value: {fileID: 21300000, guid: 1fa82f3b0bb4e1f49ab9a9ffd4e891b1, type: 3} 
    - time: 3.1166666 
     value: {fileID: 21300000, guid: 502fc97a961e4424ea008c0e546c83ef, type: 3} 
    - time: 3.45 
     value: {fileID: 21300000, guid: 1fa82f3b0bb4e1f49ab9a9ffd4e891b1, type: 3} 
    attribute: m_Sprite 
    path: 
    classID: 114 
    script: {fileID: -765806418, guid: f5f67c52d1564df4a8936ccd202a3bd8, type: 3} 

そして:

pptrCurveMapping: 
    - {fileID: 21300000, guid: 1fa82f3b0bb4e1f49ab9a9ffd4e891b1, type: 3} 
    - {fileID: 21300000, guid: ae9111d826eb24442b21523b30b748bd, type: 3} 
    - {fileID: 21300000, guid: 88840e4f59c4a6040922d9b6eed3dec3, type: 3} 
    - {fileID: 21300000, guid: 88840e4f59c4a6040922d9b6eed3dec3, type: 3} 
    - {fileID: 21300000, guid: ae9111d826eb24442b21523b30b748bd, type: 3} 
    - {fileID: 21300000, guid: 1fa82f3b0bb4e1f49ab9a9ffd4e891b1, type: 3} 
    - {fileID: 21300000, guid: 502fc97a961e4424ea008c0e546c83ef, type: 3} 
    - {fileID: 21300000, guid: 1fa82f3b0bb4e1f49ab9a9ffd4e891b1, type: 3} 

は今、私は完全に正直になります。私はRegExやこのケースで私を助けるためにそれを構築する方法について何も知らない。まず、カスタムウィンドウに適切な数のアイテムを生成するためにカーブを数え、各カーブのguid値を新しいウィンドウに置き換える必要があります。

答えて

3

これは単なるYAMLファイルで、Regexと解析しないと、維持できない混乱が生じます。

YamlDotNetようなものを追加して、厄介な正規表現のライン、シンプルで読みやすいオブジェクト指向インタフェースを介してアクセスしていない:

(私はしました(注私はYamlDotNet使用していませんでした、私のYAMLの経験はpythonです) http://yaml-online-parser.appspot.com/でファイルをテストして、その形式を再確認し、完璧に解析します)