| 2017/09/05(Tue) 18:25:09 編集(投稿者)
≪パターンを修正しました≫ 僕なら、すべてを正規表現に頼ろうとせず、パターンを "{X=(?<X>.+?),\s*Y=(?<Y>.+?),\s*Width=(?<Width>.+?),\s*Height=(?<Height>.+?)}" のようにして、X, Y, Width, Heightに割り当てられる内容を後で吟味して rectを求めます。 なお、「.+?」は、「.+」の最短マッチと言います。 例えば、検索テキスト文字列が"{X=0, Y=0, Width=0, Height=0}あいうえおかきくけこ{X=1, Y=2, Width=3, Height=4}さしすせそ" のような場合で、複数のマッチを検索したい場合は、この最短マッチの概念が必要となりますが、 必要に応じ調べてください。
ところで、検索したいテキストは、 X, Y, Width, Heightの順序は固定なのですよね? 恐らく、今回のケースでは、"{X=1, Y=2, Width=3, Height=4}" のパターンで事足りるのだろうと思いますが、 もし、{Y=2, X=1, Height=4, Width=3}のようなパターンがあり得るなら、 これも考慮する必要があります。 |