時間表現の文字列を解析したい (週 (w)、日 (d)、時 (h)、分 (m) の 4 つのグループがある)。いくつかの例は次のとおりです。
- -3w 4d 2h 1m
- +3 週 2 時間 1 分
- 3D 1m
- 1日
- ...
私はこのパターンを思いつきました:
([+-]{0,1})([0-9]+)w?\s?(0?[1-9]|[12][0-9]|3[01])d?\s?([01]?[0-9]|2[0-3])h?\s?([0-5][0-9])m?
- +または-またはなしで始まる
- 週の前の値は無制限です
- 日の前の値は 0 から 31 です
- 時間の前の値は 0 から 23 です
- 分の前の値は 0 から 59 です
- 空白 (\s) はオプションです
しかし、このパターンは機能しません。助けてください。私の英語でごめんなさい!