0

HH:MM:SS の形式で時間を検索するために以下を短縮する方法はありますか?

'^[0-6][0-9]:[0-6][0-9]:[0-6][0-9]$'
4

2 に答える 2

2

69:69:69どちらかといえば、時間として意味がないので、もっと長くすべきです。

([01]\d|2[0-3]):([0-5]\d|60):([0-5]\d|60)
allow 00-23     00-59 and 60 00-59 and 60
                ~~~~~~~~~~~~~~~~~~~~~~~~~
                60 is useful for supporting leap seconds

あなたの例が本当に欲しいが、もっと短い場合は、それを行うことができます:

[0-6]\d(:[0-6]\d){2}
     ~~          ~~~
      |          exactly two repetitions of preceding () block
      Matches digits in many regex implementations
于 2012-04-25T00:58:50.197 に答える
1

値の検証を行う必要はなく、時間のように見えるものを見つけるだけであると仮定すると、次のようになります。

\d{1,2}:\d{2}:\d{2}

^テキストを検索して実際に固定したくない値を見つける$場合、正規表現フレーバーが行の先頭と末尾に一致するものを持っていない限り、ソースデータはこれらを独自の行に持っています。

于 2012-04-25T01:06:12.050 に答える