-1

日時の値と「?sincemodified=2013-04-02T08:34:12Z」のような入力を含むクエリ文字列があります。

上記を受け入れるオプションの正規表現形式を記述する方法は?

私は以下を書きましたが失敗しました:

Regex.Match(@"?sincemodified=2013-04-02T08:34:12Z", @"^[\?sincemodified=\.*]?$").Success
4

4 に答える 4

0

IMO、REGEX は日付値を解析するのには適していません。代わりにDateTime.TryParse次のように使用します。

if(Request.QueryString["sincemodified"] != null)
{
   DateTime dt;
   if(DateTime.TryParse(Request.QueryString["sincemodified"], out dt)
     {
      //valid date
     }
}
于 2013-05-17T09:26:08.120 に答える
0

使用した正規表現は、「。」をエスケープする必要がないという点だけで優れています。

正規表現は

/\?sincemodified=.*/
于 2013-05-17T09:21:00.797 に答える
0

これには正規表現を使用する必要はないと思います。

これを使うだけで、

Request.QueryString["sincemodified"];

別のオプションは、HttpUtility.ParseQueryString()を使用することです。

HttpUtility.ParseQueryString("?sincemodified=2013-04-02T08:34:12Z").Get("sincemodified");
于 2013-05-17T09:20:35.137 に答える