いくつかの座標を含むファイルを読み取る必要があります。ファイルは次のように構成されています。
X1/Y1,X2/Y2,X3/Y3,X4/Y4
ここで、XとYは正の整数です。この問題を解決するために、正規表現を使用したいと思います(パターンが変更されたときのリファクタリングが最小限であるため、これは一般的には良い考えだと思います)。
したがって、私は次の正規表現を開発しました。
Regex r = new Regex(@^(?<Coor>(?<X>[0-9]+)/(?<Y>[0-9]+))(,(?<Coor>(?<X>[0-9]+)/(?<Y>[0-9]+)))*$");
ただし、この正規表現をデータでテストすると、たとえば次のようになります。
1302/1425,1917/2010
正規表現は、最後のX、Y、およびCoorグループのみを思い出すようです。この場合、Coorは「12/17」、Xは「1917」、Yは「2010」です。ある種の木を生成する方法はありますか?それで、各Coorの下にXおよびYコンポーネントがある、すべてのCoor式を提供するオブジェクトを見つけましたか?
可能であれば、1つの正規表現のみを使用したいと思います。これは、形式が別の正規表現に変更される可能性があるためです。