「a」、「p」、「a」、「p」、「am」、「pm」、「am」、「pm」に一致する正規表現を探しています。
私が探しているのは空白にとらわれないことに注意してください。文字列内に正規表現のグループ化がありますが、現在、a / m / am/pmでは機能していません。これは次のとおりです。
/^(\d{1,2}):(\d{2})(\s(am|pm|a|p)$)/i;
/^(\d{1,2}):(\d{2})(\s*[ap]m?)$/i
主な変更点は、の後のアスタリスク(*
)\s
です。つまり、任意の数の空白を許可するか、空白を許可しません。
これを変更してみてください...
\s(am|pm|a|p)
これに...
\s?(am|pm|a|p)
は?
空白文字をオプションにします。複数のスペースを許可する可能性がある場合は、*
代わりにを使用することもできます。?
これが空白に依存しないものです:
/^\s*(\d{1,2})\s*:\s*(\d{2})\s*([ap]m?)\s*$/i
一致:
1:23 PM
01:03 A
10:50 pm
12:20 p