1

私はこれらの可能性のように表現された時間を持っています:

7:15:00 AM
07:15:00 AM

7:15:00 PM
07:15:00 PM

上記に合うように、以下の正規表現を調整するにはどうすればよいですか?追加する必要のあるルールは、前面のオプションの0と、オプションのスペースAMまたはスペースPMです。

/[0-2][0-9]:[0-5][0-9]:[0-5][0-9]/
4

3 に答える 3

4

?)演算子または {0,1}

   /[0-2]?[0-9]:[0-5]?[0-9]:[0-5]?[0-9]\s?[AM|PM]/i

より良いアプローチ:strtotime()

編集:

[0-2]?[0-9]有効な正規表現ではないと思うので、これはより良いものだと思います

   /1[012]|0?[1-9]:[0-5]?[0-9]:[0-5]?[0-9]\s?[AM|PM]/i
于 2012-08-10T08:39:20.340 に答える
3

代わりにPHPのstrtotime関数を使用してすべての作業を行ってみませんか?

この関数は、英語の日付形式を含む文字列が与えられることを想定しており、現在指定されているタイムスタンプを基準にして、その形式をUnixタイムスタンプ(1970年1月1日00:00:00 UTCからの秒数)に解析しようとします。現在の時刻が指定されていない場合。

于 2012-08-10T08:40:27.237 に答える
0

多分

/[0-1]{0,1}[0-9]:[0-5][0-9]:[0-5][0-9] (AM|PM)/
于 2012-08-10T08:41:17.507 に答える