HH:MM:SS の形式で時間を検索するために以下を短縮する方法はありますか?
'^[0-6][0-9]:[0-6][0-9]:[0-6][0-9]$'
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
値の検証を行う必要はなく、時間のように見えるものを見つけるだけであると仮定すると、次のようになります。
\d{1,2}:\d{2}:\d{2}
^
テキストを検索して実際に固定したくない値を見つける$
場合、正規表現フレーバーが行の先頭と末尾に一致するものを持っていない限り、ソースデータはこれらを独自の行に持っています。