1

私は2つのことをしたいと思っています、そして私はそれらを美しい方法でやろうとしています。私は、ユーザーがflickr画像のURLを入力するだけでflickr写真をアップロードできるようにするプロジェクトに取り組んでいます。元:http://www.flickr.com/photos/xdjio/226228060/

する必要がある:

  • 次の形式に一致するURLであることを確認してください。http://www.flickr.com/photos/[0]/[1]/

  • 次の部分を抽出します。http://www.flickr.com/photos/xdjio/[0]/

今、私は上記を行うためのいくつかの文字列メソッドを非常に簡単に書くことができましたが、それは厄介で、正規表現でこれらのことを行う方法を学ぶのが大好きだと思います。正規表現の忍者ではありませんが、現在、上記のことはできません。

4

2 に答える 2

4

指定したようなURLの入力文字列を指定すると、任意のユーザーの画像IDが抽出されます。

string input = "http://www.flickr.com/photos/xdjio/226228060/";
Match match = Regex.Match(input, "photos/[^/]+/(?<img>[0-9]+)", RegexOptions.IgnoreCase | RegexOptions.SingleLine);
if(match.Success)
{
    string imageID = match.Groups["img"].Value;
}

内訳を見ると、「photos /」、「/」ではない1つ以上の文字、/、数字である1つ以上の文字が続く検索を行っています。また、数字セグメントを「img」という名前のグループに入れます。

于 2009-10-13T03:54:12.107 に答える
0

javascript asp.netバリデーターを使用する場合、グループ化名をサポートしないことをこれに追加すると思いました。

この状況で使用する正規表現は次のようになります。

photos/[^/]+/([0-9]+)

誰かがこれが役に立つかもしれないと思った

于 2009-10-13T23:37:41.197 に答える