C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


■85027 / )  Re[8]: 正規表現の考え方がわかりません
□投稿者/ ペイビン (3回)-(2017/09/05(Tue) 18:20:05)
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}のようなパターンがあり得るなら、
これも考慮する必要があります。
返信 編集キー/


管理者用

- Child Tree -